Saltar al contenido

Validar los modelos de aprendizaje de la máquina con scikit-learn

En esta guía, seguiremos los siguientes pasos:

Paso 1 – Cargando las bibliotecas y módulos necesarios.

Validar los modelos de aprendizaje de la máquina con scikit-learn
Validar los modelos de aprendizaje de la máquina con scikit-learn

Paso 2 – Lectura de los datos y realización de comprobaciones de datos básicos.

Paso 3 – Crear arreglos para las características y la variable de respuesta.

Paso 4 – Probar diferentes técnicas de validación de modelos.

Las siguientes secciones cubrirán estos pasos.

Paso 1 – Carga de las bibliotecas y módulos requeridos

1234567891011121314151617# Importar las bibliotecas necesariasimportar pandas como pdimport numpy como np import matplotlib.pyplot como pltimport sklearn# Importar los módulos necesariosdesde sklearn.model_selection importar train_test_splitfrom sklearn.metrics importar mean_squared_errorfrom math importar sqrtfrom sklearn importar model_selectionfrom sklearn. linear_model import LogisticRegressionfrom sklearn.model_selection import KFoldfrom sklearn.model_selection import LeaveOneOutfrom sklearn.model_selection import LeavePOutfrom sklearn.model_selection import ShuffleSplitfrom sklearn.model_selection import StratifiedKFold

pitón

Paso 2 – Lectura de los datos y realización de comprobaciones de datos básicos

La primera línea de código de abajo lee en los datos como un cuadro de datos de pandas, mientras que la segunda línea imprime la forma – 768 observaciones de 9 variables. La tercera línea da las estadísticas resumidas transpuestas de las variables.

123dat = pd.read_csv($0027diabetes.csv$0027)print(dat.shape)dat.describe().transpose()

pitón

Salida:

12345678910111213(768, 9) | | conteo | media | std | min | 25% | 50% | 75% | max ||-------------|-----|----------------------------------------------------------------------------------------------------------------------------------------------------- embarazos | 768.0 | 3.845052 | 3.369578 | 0.000 | 1.00000 | 3. 6.00000, 17.00, glucosa, 768.0, 120.894531, 31.972618, 0.000, 99.00000, 117.0000, 140.25000, 199. Diastólica 768,0, 69.105469, 19.355807, 0.000, 62.00000, 72.0000, 80.00000, 122.00, tríceps 768,0, 20.536458, 15. 952218 0.000 0.00000 0.00000 23.0000 32.00000 99.00 insulina 768.0 79.799479 115.244002 0.000 0.00000 30. 5.000, 127.25000, 846.00, BMI, 768.0, 31.992578, 7.884160, 0.000, 27.30000, 32.0000, 36.60000, 67.10, dpf, 768. 0 | 0.471876 | 0.331329 | 0.078 | 0.24375 | 0.3725 | 0.62625 | 2.42 | edad | 768.0 | 33.240885 | 11.760232 | 21.000 | 24. 00000 | 29.0000 | 41.00000 | 81.00 || diabetes | 768.0 | 0.348958 | 0.476951 | 0.000 | 0.00000 | 0.0000 | 1.00000 | 1.00 |

Si observamos el resumen de la variable «diabetes», observamos que el valor medio es 0,35, lo que significa que alrededor del 35 por ciento de las observaciones del conjunto de datos tienen diabetes. Por lo tanto, la precisión de la línea de base es del 65 por ciento, y el modelo que construimos debería superar definitivamente este punto de referencia.

Paso 3 – Creación de arreglos para las características y la variable de respuesta

Las líneas de código de abajo crean un conjunto de las características y la variable dependiente, respectivamente.

12x1 = dat.drop($0027diabetes$0027, axis=1).values y1 = dat[$0027diabetes$0027].values

pitón

Paso 4 – Probando diferentes técnicas de validación de modelos

Con los arreglos de las características y la variable de respuesta creada, comenzaremos a discutir las diversas estrategias de validación del modelo.