Temos um conjunto de dados de clientes do banco Dream Housing Finance, obtidos através de um preenchimento de um formulário online que pede as seguintes informações:
Gênero - feminino ou masculino - (Gender)
Casado - sim ou não - (Married)
Número de dependentes - (Dependents)
Educação - graduado sim ou não - (Education)
Autônomo - sim ou não - (Self_Employed)
Renda do candidato - requerente principal (ApplicantIncome)
Renda do co-requerente - (CoapplicantIncome)
Valor do empréstimo (LoanAmount)
Empréstimo, valor, prazo (Loan_Amount_Term)
Histórico de crédito - 0 ou 1 - (Credit_History)
Local da propriedade - rural, semiurbana ou urbana - (Property_Area)
E além destas variáveis acima temos:
Identificador do cliente - (Loan_ID)
Status do empréstimo - aprovado sim ou não - (Loan_Status)
Neste conjunto de dados, temos 614 linhas, 13 variáveis (Figura 1), sendo 7 do tipo categórica, 4 numéricas e 2 metadados, com 2,2% de dados faltantes (Figura 2).
Figura 1
Figura 2
1 - Tratando os dados
Como temos valores faltantes (NaN), vamos colocar no lugar destes valores a média dos valores no tipo numérico e a moda no tipo categórico (Figura 3). (Uma outra opção seria eliminar as linhas contendo valores omissos NaN)
Figura 3
Verificando as colunas numéricas, podemos observar diferenças entre os intervalos numéricos. A coluna LoanAmount, por exemplo, possui valores 20 vezes menores do que os da coluna ApplicantIncome (Figura 4). Para que colunas com altos valores não sejam consideradas mais importantes do que as de baixos valores, devemos recorrer a técnicas de padronização ou normalização em algoritmos que usem de Distância Euclidiana, porém o algoritmo a ser utilizado neste trabalho será o Árvore de Decisão - que é um algoritmo que não utiliza de Distância Euclidiana e portanto não vamos precisar efetuar uma normalização ou padronização.
Figura 4
Vamos tomar os dados categóricos (Gender, Married, Education, Self_Employed, Credit_History, Property_Area, Loan_Status) e converte-los em variáveis dummy (variáveis binárias <0 ou 1> criadas para representar variáveis categóricas). (Figura 5)
Figura 5
Observe que foram criadas duas ou três colunas para representar as variáveis categóricas. Para Gênero, por exemplo, temos Gender=Fermale e Gender=Male, neste caso, uma das colunas já seria o suficiente, portanto vamos excluir uma das colunas. Observe também que a variável Property_Area foi dividida em 3 colunas, uma delas foi retirada, pois duas colunas são suficientes para classificá-la (0-0, 0-1, 1-0).
2 - Prevendo resultados
Vamos usar para prever resultados o método de aprendizado Árvore de Decisão (Figura 6). Neste caso, a nossa variável alvo será "Loan_Status".
Figura 6
Coloquei a árvore de decisão em um nível de profundidade 4 para facilitar a visualização. No algoritmo da Árvore de Decisão, temos em cada nó uma pergunta acerca de uma condição. A variável Credit_History foi escolhida através de um cálculo de ganho de informação como sendo a principal variável determinante da aprovação de empréstimos. Um pergunta é feita: Credit_history=0 é sim ou não? Tem histórico de empréstimo realizado (>0) ou não(<=0)? E a partir da resposta surgem dois nós, um com 525 pessoas e outro com 89.
No caso das pessoas que não possuem historico de crédito (<=0), um novo cálculo de ganho é feito e é determinado a variável mais importante para tomada de decisão, a CoapplicantIncome (Renda do requerente), e nesta situação o valor de referência calculado foi o valor de renda 8333. E seguindo este processo, são construidos todos os nós.
É interessante notar que 80% da pessoas que não possuem histórico de crédito e cujo - co-requerente possui renda maior que 8333, foram reprovadas, enquanto cerca de 80% dos que não possuem crédito e co-requerente possui renda menor que 8333, foram aprovadas.
3 - Nova árvore de decisão
Tomei 80% dos dados e construi uma nova árvore de decisão (Figura 7). A finalidade é realizar um teste sobre os 20% que ficaram de fora. A acurácia do teste do 20% dos dados ficou em 68%. Observe que anova árvore de decisão ficou um pouco diferente da árvore anterior, os valores considerados importantes em determinados nós foram outros.
Figura 7