Modelo de predicción diabética usando Python Machine Learning
Introducción
En este artículo, aprenderemos a usar el modelo Train Test Split para dividir un conjunto de datos en cuatro partes, desarrollar un modelo de predicción y también analizar las predicciones y el conjunto de datos a través de un caso de uso.
Caso de uso — Declaración del problema
Nuestro objetivo para este artículo es predecir si los pacientes tienen diabetes o no . Todos nuestros pacientes son mujeres jóvenes, cuyos datos proporcionados (es decir, número de embarazos, niveles de glucosa e IMC) se utilizarán para predecir la diabetes. Este es el conjunto de datos que usaremos.
Entrenamiento y prueba de datos en aprendizaje automático
Al trabajar con conjuntos de datos, casi todos los algoritmos de aprendizaje automático funcionan en tres fases diferentes: preprocesamiento de datos, modelo de predicción y análisis de datos. Durante la etapa 1 del proceso, el conjunto de datos se divide en un 80 % de datos de entrenamiento y un 20 % de datos de prueba. Usando el modelo Train Test Split , primero completaremos el preprocesamiento de datos antes del modelo de predicción y el análisis de datos.
Para comenzar el preprocesamiento de datos, primero debemos instalar un par de bibliotecas de Python usando pip:
>>>pip instalar pandas
>>> pip instalar sklearn
Después de instalar las bibliotecas necesarias, usaremos la biblioteca pandas para importar el conjunto de datos y la biblioteca sklearn para ejecutar la división del conjunto de datos:
Después de importar estos paquetes, leeremos nuestro conjunto de datos desde un archivo csv a un marco de datos de pandas para poder cambiar y manipular fácilmente en la etapa de preprocesamiento.
Ahora, comenzaremos a dividir el conjunto de datos en dos partes: x e y. Dado que queremos predecir el "Resultado", siendo 0 sin diabetes y 1 con diabetes , nuestra variable x incluirá todos los datos menos el "Resultado", mientras que nuestra variable y solo almacenará los valores de "Resultado".
Posteriormente, finalmente usaremos el modelo Train Test Split para dividir la variable x en 80% x_train y 20% x_test . Lo mismo se hará con la variable y: 80% y_train y 20% y_test .
Para verificar lo que realmente sucedió, podemos ejecutar .head() o .shape en los trenes y pruebas para ver cómo se han cambiado los datos desde el comienzo de este artículo hasta ahora.
Desarrollo del modelo de predicción
Completando la división del conjunto de datos en cuatro partes, ahora comenzaremos la etapa 2 del proceso, desarrollando un modelo de predicción. Usaremos el modelo Random Forest Classifier , que es excelente para clasificar predicciones basadas en múltiples factores como en este caso, para nuestras predicciones.
Primero, importaremos nuestro modelo Random Forest Classifier de sklearn. Luego, después de definir el nombre del modelo, se entrenará con x_train e y_train del conjunto de datos, de modo que pueda encontrar patrones y tendencias entre las muchas variables independientes diferentes en x_train y la variable "Resultado" en y_train . Una vez finalizado el proceso de entrenamiento, utilizaremos nuestro modelo entrenado para predecir el "Resultado" de nuestros datos x_test ingresados sin proporcionarle los datos y_test. Aquí está el código para todo esto:
Con las predicciones almacenadas en la variable y_pred, nos gustaría ver qué tan precisas fueron nuestras predicciones para los datos dados de x-_test comparándolos con los resultados reales de y_test. Mediante el uso de métricas de la biblioteca sklearn, descubrimos que nuestro modelo tenía una precisión de alrededor del 81 % en sus predicciones.
Nota: El modelo Clasificador de bosques de Radom, como la mayoría de los modelos de predicción sofisticados, está diseñado para grandes conjuntos de datos. Su función y predicciones son mucho más precisas con cantidades "mayores" de datos, ya que puede implementar más datos para entrenar y aprender, lo que lleva a mejores predicciones y mayor precisión.
Análisis de los datos
En el paso final del proyecto, nos gustaría realizar un análisis de datos para obtener más información sobre los datos y nuestro modelo de predicción. Primero, usaremos una matriz de confusión de sklearn para aprender más en profundidad sobre nuestras predicciones y dónde salió mal. Necesitaremos e instalar con pip e importar las bibliotecas seaborn y matplotlib para que funcionen estos siguientes análisis de datos.
Como podemos ver aquí, la Matriz de Confusión nos dice que el número de veces que nuestro modelo predijo algo correcto e incorrecto. Además, la Matriz de Confusión muestra los falsos positivos y falsos negativos realizados por el modelo, infiriendo que necesita más datos para corregir esos errores.
Otra técnica de análisis de datos es el uso de puntajes de importancia de características para determinar qué variables independientes son más significativas para predecir la diabetes o no . Cuanto mayor sea la puntuación de la característica importante, mayor será la influencia que tiene esa variable en el "Resultado" de la diabetes.
Para mostrar estos datos gráficamente:
Conclusión
Aquí, en este artículo, aprendimos cómo dividir un conjunto de datos de un archivo csv en 4 secciones diferentes usando el modelo Train Test Split, creamos un modelo de predicción entrenándolo y probándolo, y también utilizamos un par de técnicas de análisis de datos para comprender las predicciones en cuestión. .

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































