-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsimulador_avaliacao_credito.py
86 lines (51 loc) · 3.53 KB
/
simulador_avaliacao_credito.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import streamlit as st
from joblib import load
import pandas as pd
from utils import Transformador
#Cor de fundo do listbox
st.markdown('<style>div[role = "listbox"] ul{background-color: #eee1f79e};</style>', unsafe_allow_html=True)
def avaliar_mau(dict_respostas):
modelo = load('Objetos/modelo.joblib')
features = load('Objetos/features.joblib')
if dict_respostas['Anos_desempregado'] > 0:
dict_respostas['Anos_empregado'] = dict_respostas['Anos_desempregado'] * -1
respostas = []
for coluna in features:
respostas.append(dict_respostas[coluna])
df_novo_cliente = pd.DataFrame(data=[respostas], columns=features)
mau = modelo.predict(df_novo_cliente)[0]
return mau
st.image('img/bytebank_logo.png')
st.write('# Simulador de Avaliação de Crédito')
my_expander_1 = st.beta_expander('Trabalho')
my_expander_2 = st.beta_expander('Pessoal')
my_expander_3 = st.beta_expander('Familia')
dict_respostas = {}
lista_campos = load('Objetos/lista_campos.joblib')
with my_expander_1:
col1_form, col2_form = st.beta_columns(2)
dict_respostas['Categoria_de_renda'] = col1_form.selectbox('Qual a categoria de renda ?', lista_campos['Categoria_de_renda'])
dict_respostas['Ocupacao'] = col1_form.selectbox('Qual a ocupacao ?', lista_campos['Ocupacao'])
dict_respostas['Tem_telefone_trabalho'] = 1 if col2_form.selectbox('Tem um telefone do trabalho ?', ['Sim', 'Nao']) == 'Sim' else 0
dict_respostas['Rendimento_Anual'] = col1_form.slider('Qual é o salario mensal ?', help='Podemos mover a barra usando as setas do teclado', min_value = 0, max_value = 35000, step=500) * 12
dict_respostas['Anos_empregado'] = col2_form.slider('Quantos anos empregado ?', help='Podemos mover a barra usando as setas do teclado', min_value = 0, max_value=50, step=1)
dict_respostas['Anos_desempregado'] = col2_form.slider('Quantos anos desempregado ?', help='Podemos mover a barra usando as setas do teclado', min_value = 0, max_value=50, step=1)
with my_expander_2:
col3_form, col4_form = st.beta_columns(2)
dict_respostas['Grau_Escolaridade'] = col3_form.selectbox('Qual o Grau de Escolaridade ?', lista_campos['Grau_Escolaridade'])
dict_respostas['Estado_Civil'] = col3_form.selectbox('Qual o Estado Civil?', lista_campos['Estado_Civil'])
dict_respostas['Tem_Carro'] = 1 if col3_form.selectbox('Tem um Carro', ['Sim', 'Nao']) == 'Sim' else 0
dict_respostas['Tem_telefone_fixo'] = 1 if col4_form.selectbox('Tem um telefone fixo ?', ['Sim', 'Nao']) == 'Sim' else 0
dict_respostas['Tem_email'] = 1 if col4_form.selectbox('Tem um email ?', ['Sim', 'Nao']) == 'Sim' else 0
dict_respostas['Idade'] = col4_form.slider('Qual a idade?', help='Podemos mover a barra usando as setas to teclado', min_value = 0 , max_value=100)
with my_expander_3:
col4_form, col5_form = st.beta_columns(2)
dict_respostas['Moradia'] = col4_form.selectbox('Qual o tipo de moradia ?', lista_campos['Moradia'])
dict_respostas['Tem_Casa_Propria'] = 1 if col4_form.selectbox('Tem Casa Propria ?', ['Sim', 'Nao']) == 'Sim' else 0
dict_respostas['Tamanho_Familia'] = col5_form.slider('Qual o tamanho da familia ?', help = 'Podemos mover a barra usando as setas to teclado', min_value=1, max_value=20)
dict_respostas['Qtd_Filhos'] = col5_form.slider('Quantos filhos ?', help = 'Podemos mover a barra usando as setas to teclado', min_value=0, max_value=20)
if st.button('Avaliar crédito'):
if avaliar_mau(dict_respostas):
st.error('Crédito negado')
else:
st.success('Crédito Aprovado')