GithubHelp home page GithubHelp logo

guim4dev / credit-approval-system Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 836 KB

A ideia é identificar, dentre os clientes que solicitam um produto de crédito (como um cartão de crédito ou um empréstimo pessoal, por exemplo) e que cumprem os pré-requisitos essenciais para a aprovação do crédito, aqueles que apresentem alto risco de não conseguirem honrar o pagamento, tornando-se inadimplentes.

License: MIT License

Jupyter Notebook 100.00%

credit-approval-system's Introduction

EEL891 - 2021.1 - Relatório do Trabalho 1

Classificação: sistema de apoio à decisão para aprovação de crédito

Aluno: Thiago Guimarães

Sobre o Repositório

Nesse repositório podem ser encontrados um notebook, que foi utilizado para realizar o pré-processamento dos dados e o treinamento do modelo, além da geração de um arquivo submission.csv, que é o arquivo entregado no Kaggle. Há também uma pasta data, na qual estão armazenados os datasets fornecidos e afins.

Pré-processamento

Por meio da análise dos dados utilizando pandas e das informações fornecidas no kaggle, foram mapeadas colunas inúteis que poderiam ser descartadas, colunas que precisariam passar por um processo de one_hot_encoding, fora outros processamentos. As colunas que sofreram tais tipos de alteração estão mapeadas detalhadamente no arquivo de anotações. Em resumo temos:

1. Colunas removidas:

'grau_instrucao',
'estado_onde_nasceu',
'codigo_area_telefone_residencial',
'estado_onde_trabalha',
'codigo_area_telefone_trabalho',
'profissao',
'profissao_companheiro',
'grau_instrucao_companheiro',
'local_onde_reside',
'local_onde_trabalha',
'nacionalidade'

2. Colunas que são binarizadas:

'sexo',
'possui_telefone_residencial',
'vinculo_formal_com_empresa',
'possui_telefone_trabalho',
'possui_telefone_celular'

3. Colunas que sofrem one_hot_encode:

'regiao',
'produto_solicitado',
'forma_envio_solicitacao',
'tipo_endereco',
'estado_civil',
'tipo_residencia',
'ocupacao'

4. Outras alterações: Além disso, no Estado do dataset, foi aplicado um processo de agrupamento por região do Brasil, de forma a agruparmos as linhas do dataset por região, não mais por Estado.

Também foi utilizado um Imputer para consertar alguns dados que estavam nulos, de forma a possibilitar a utilização do modelo. A métrica utilizada pelo imputer foi a mediana.

Implementação do modelo classificador

Tendo tanto o dataframe de teste como o de treino em mãos, foram treinados diversos modelos, dentre estes: RandomForest, AdaBoost, NaiveBayes, KNN e GradientBoosting. Após uma grande quantidade de testes, o melhor modelo em questão de performance foi o Gradient Boosting. Assim, foi realizado um processo de fine tuning dos hiperparâmetros deste modelo, de forma a encontrar o melhor resultado para sua accuracy. Como foram feitos diversos testes e para facilitar o processo de leitura do notebook, estes testes de modelos diferentes foram retirados no Notebook para despoluí-lo.

Resultados

Assim O modelo encontrou uma acurácia de 0.574 no teste utilizando train_test_split. Já no kaggle, o accuracy encontrado foi de 0.575

credit-approval-system's People

Contributors

guim4dev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.