Modelo de previsão de diabetes usando Python Machine Learning
Introdução
Neste artigo, aprenderemos como usar o modelo Train Test Split para dividir um conjunto de dados em quatro partes, desenvolver um modelo de previsão e também analisar as previsões e o conjunto de dados por meio de um caso de uso.
Caso de uso — Declaração do problema
Nosso objetivo para este artigo é prever se os pacientes têm diabetes ou não . Todos os nossos pacientes são mulheres jovens, cujos dados fornecidos (ou seja, número de gestações, níveis de glicose e IMC) serão usados para prever o diabetes. Este é o conjunto de dados que usaremos.
Dados de treinamento e teste em aprendizado de máquina
Trabalhando com conjuntos de dados, quase todos os algoritmos de aprendizado de máquina funcionam em três fases diferentes: pré-processamento de dados, modelo de previsão e análise de dados. Durante o estágio 1 do processo, o conjunto de dados é dividido em 80% de dados de treinamento e 20% de dados de teste. Usando o modelo Train Test Split , primeiro completaremos o pré-processamento de dados antes do modelo de previsão e análise de dados.
Para iniciar o pré-processamento de dados, primeiro precisamos instalar algumas bibliotecas Python usando pip:
>>>pip instalar pandas
>>>pip instalar sklearn
Após instalar as bibliotecas necessárias, usaremos a biblioteca pandas para importar o dataset e a biblioteca sklearn para executar a divisão do dataset:
Depois de importar esses pacotes, leremos nosso conjunto de dados de um arquivo csv para um dataframe do pandas para poder alterar e manipular facilmente no estágio de pré-processamento.
Agora, começaremos a dividir o conjunto de dados em duas partes: x e y. Como queremos prever o “Resultado”, 0 sendo sem diabetes e 1 sendo diabetes , nossa variável x incluirá todos os dados, exceto o “Resultado”, enquanto nossa variável y armazenará apenas os valores de “Resultado”.
Posteriormente, finalmente usaremos o modelo Train Test Split para dividir a variável x em 80% x_train e 20% x_test . O mesmo será feito para a variável y: 80% y_train e 20% y_test .
Para verificar o que realmente aconteceu, podemos executar .head() ou .shape nos trens e testes para ver como os dados foram alterados desde o início deste artigo até agora.
Desenvolvimento de modelo de previsão
Concluída a divisão do conjunto de dados em quatro partes, iniciaremos agora a etapa 2 do processo, desenvolvendo um modelo de previsão. Estaremos usando o modelo Random Forest Classifier , que é ótimo para previsões de classificação com base em vários fatores, como neste caso, para nossas previsões.
Primeiro, importaremos nosso modelo Random Forest Classifier do sklearn. Depois de definir o nome do modelo, ele será treinado com x_train e y_train do conjunto de dados, para que possa descobrir padrões e tendências entre as diversas variáveis independentes no x_train e a variável “Outcome” no y_train . Após a conclusão do processo de treinamento, utilizaremos nosso modelo treinado para prever o “Resultado” de nossos dados x_test inseridos sem fornecer os dados y_test. Aqui está o código para tudo isso:
Com as previsões armazenadas na variável y_pred, gostaríamos de ver a precisão de nossas previsões para os dados x-_test fornecidos, comparando-os com os resultados reais do y_test. Usando métricas da biblioteca sklearn, descobrimos que nosso modelo teve cerca de 81% de precisão com suas previsões.
Nota: O modelo Radom Forest Classifier, como a maioria dos modelos de previsão sofisticados, é projetado para grandes conjuntos de dados. Sua função e previsões são muito mais precisas com quantidades “maiores” de dados, pois pode implementar mais dados para treinar e aprender, levando a melhores previsões e maior precisão.
Análise de dados
Na etapa final do projeto, gostaríamos de realizar algumas análises de dados para aprender mais sobre os dados e nosso modelo de previsão. Primeiro, usaremos uma matriz de confusão do sklearn para aprender mais a fundo sobre nossas previsões e onde deu errado. Precisamos instalar com pip e importar as bibliotecas seaborn e matplotlib para que as análises de dados a seguir funcionem.
Como podemos ver aqui, a Matriz de Confusão nos diz o número de vezes que nosso modelo previu algo certo e errado. Além disso, a Matriz de Confusão mostra os falsos positivos e falsos negativos cometidos pelo modelo, inferindo que ele precisa de mais dados para corrigir esses erros.
Outra técnica de análise de dados é usar o Feature Importance Scores para determinar quais variáveis independentes são mais significativas na previsão de diabetes ou não . Quanto maior a pontuação da característica importante, maior a influência que essa variável tem no “resultado” do diabetes.
Para mostrar esses dados graficamente:
Conclusão
Aqui neste artigo, aprendemos como dividir um conjunto de dados de arquivo csv em 4 seções diferentes usando o modelo Train Test Split, criamos um modelo de previsão treinando e testando-o e também utilizamos algumas técnicas de análise de dados para entender as previsões em questão .





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)