Modelar sin normalizar
Echemos un vistazo a lo que puede ocurrirle a la precisión de tu modelo si intentas modelizar datos sin hacer antes algún tipo de normalización.
Aquí tenemos un subconjunto del conjunto de datos wine
. Una de las columnas, Proline
, tiene una varianza extremadamente alta en comparación con las demás columnas. Este es un ejemplo en el que resultaría útil una técnica como la normalización de registros, de la que aprenderás en la siguiente sección.
El proceso de entrenamiento del modelo scikit-learn debería resultarte familiar a estas alturas, así que no profundizaremos demasiado en él. Ya tienes disponible un modelo K vecinos más cercanos (knn
), así como los conjuntos X
y y
que necesitas para ajustar y puntuar.
Este ejercicio forma parte del curso
Preprocesamiento para machine learning en Python
Instrucciones de ejercicio
- Divide los conjuntos
X
yy
en conjuntos de entrenamiento y de prueba, asegurándote de que las etiquetas de clase se distribuyen por igual en ambos conjuntos. - Ajusta el modelo
knn
a las características y etiquetas de entrenamiento. - Imprime la precisión del conjunto de pruebas del modelo
knn
utilizando el método.score()
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, stratify=____, random_state=42)
knn = KNeighborsClassifier()
# Fit the knn model to the training data
knn.____(____, ____)
# Score the model on the test data
print(knn.____(____))