Então…por enquanto, eu não posso me introduzir como um cientista de dados, consegui apenas 68% de AUC(área sob a curva ROC) em um problema de predição sobre internação de diabéticos mas estou tentando me tornar um!, para aumentar meus horizontes em programação e em análise de dados, resolvi estudar Python.
Primeiro, procurei por bons recursos, principalmente no site Quora, que por sinal possui uma das melhores comunidades de data science por ai, e ao pesquisar sobre, achei o livro “Python for Data Analysis”, que me pareceu muito bom e agora o estou utilizando para aprender.
“First things, First”!
Como eu não sei quase nada de Python ainda, procurei sobre como fazer um bom projeto e me indicaram o IPython, minha recomendação? O instale usando Anaconda, é uma forma bem simples de instalar e possui ótimos tutoriais e possui as principais bibliotecas que usarei neste post: MatplotLib e Pandas(e suas dependências, como Numpy, por exemplo).
Dataset!
O dataset que escolhi para análise foi o dataset disponibilizado pelo site consumidor.gov.br, que você pode baixar em:http://dados.gov.br/dataset/reclamacoes-do-consumidor-gov-br , que é a fonte oficial de dados do governo federal, contudo, ela está desatualizada, você pode encontrar alguns meses a mais no site do próprio consumidor.gov:https://www.consumidor.gov.br/pages/dadosabertos/externo/ .
O primeiro desafio que encontrei foi colocar os dados em algum objeto, o método de leitura “read_csv” parece ter um certo problema com formatos latinos, mas nada que a adição de um parâmetro “enconding= ‘latin-1’ ” não resolvesse, mesmo assim, foi um pouco chato comparado com outra ferramenta que utilizo, o R.
Explicando um pouco o processo da reclamação do Consumidor.gov: O consumidor registra uma reclamação com uma das empresas cadastradas contendo qual o tipo de problema, o que ele quer que a empresa faça, pode anexar arquivos sobre a situação, e a empresa tem em torno de 15 dias para atender o usuário, após isto, o usuário modifica ou não os status da reclamação(p/ “Resolvida”, “Não Resolvida”) e dá uma nota para o atendimento da empresa.
Segue um histograma da situação de junho de 2015, que foi o dataset que utilizei para aprender mais sobre como o site funciona, para mostrar como esta amostra avaliou as empresas:
Percebe-se que boa parte dos usuários reagiu de forma bem binária, bem mais de 50% dos usuários deu 1 ou 5 como nota ao atendimento da empresa. Este gráfico foi bem tranquilo de fazer utilizando Python, contudo, tive de utilizar a classe chamada Counter para converter os números de String para Float, sendo que este erro foi ocasionado por eu não saber utilizar a classe DataFrame do Pandas que já os converte de forma automática.
Mas eu gostaria de agregar mais valor à esta discussão e apareceu uma ótima feature do Panda, o método groupby, sério, isto facilita e muito a vida, além do Pandas ser um dos principais packages, ele é bem completo, o que diminui o trabalho já que não preciso procurar por packages específicos para problemas simples. Este método conseguiu agrupar para mim todas as reclamações em cinco clusters correspondentes à cada nota, e eu pesquisei qual empresa possuia a maior quantidade daquela nota:
result = dataset.groupby('Nota do Consumidor') print(result["Nome Fantasia"].describe()) Nota do Consumidor|| Variáveis || Valores 1 count 2840 unique 134 top Oi Fixo freq 306 2 count 650 unique 72 top Oi Fixo freq 83 3 count 1205 unique 100 top Vivo - Telefônica freq 192 4 count 1469 unique 104 top Vivo - Telefônica freq 248 5 count 3051 unique 127 top Vivo - Telefônica freq 513
Como você pode ver , o campeão de votos positivos é ” Vivo – Telefônica ” e o título de pior ficou com a ” Oi Fixo ” (como eu percebi no meu post anterior https://medium.com/@felipebormann/quem- os- brasileiros -n % C3% A3o – Gostam – 520a8e589b26 ) .
Veredito
Entre outras coisas, Python provou ser uma ferramente bem interessante e sua curva de aprendizado muito simples, e que possui uma grande gama de tutoriais na internet, o que facilitou e muito o aprendizado comparado com o R. Além de possuir o IPython, que sinceramente, é bom pra caramba, a capacidade de salvar todos os meus comandos de uma forma visivelmente agradável é algo fantástico!, o Python vale sim um pouco do seu tempo para tentar.
Concluindo o episódio de hoje: acho que agora é um bom momento para explorar mais os dados e tentar coisas novas , vejo vocês no próximo post. Espero que tenham gostado da minha breve análise e minha pobre habilidade em Python haha , espero me tornar melhor utilizando ele com o tempo, neste momento, ainda estou tentando me acostumar com o IPython, mas esperem pra ver, haverá o tempo em que eu vou ser reconhecido como parte dos 5 melhores cientistas de Dados do Brasil o/!.
Deixe um comentário