Saltar al contenido principal
Página

Tema 4.6 - Introducción a Scikit-learn

Introducción a Scikit-learn

Hasta ahora, hemos estado escribiendo funciones desde cero para entrenar los modelos de k- neighbors más cercano, si bien esto es una práctica deliberada útil para entender cómo funciona la mecánica, puedes ser más productivo e iterar más rápido utilizando una biblioteca que maneje la mayor parte de la implementación. 

En esta pantalla, aprenderemos sobre la biblioteca scikit-learn (scikit-learn library) , que es la biblioteca de aprendizaje automático más popular en Python, scikit-learn contiene funciones para todos los principales algoritmos de aprendizaje automático y un flujo de trabajo simple y unificado, ambas propiedades permiten a los científicos de datos ser increíblemente productivos cuando entrenan y prueban diferentes modelos en un nuevo conjunto de datos.

El flujo de trabajo de scikit-learn consta de 4 pasos principales:

  • Instalar el modelo de aprendizaje automático específico que se desea utilizar
  • Ajustar el modelo a los datos de entrenamiento
  • Utilizar el modelo para hacer predicciones
  • Evaluar la precisión de las predicciones

Nos centraremos en los 3 primeros pasos en esta pantalla y en la siguiente, cada modelo en scikit-learn se implementa como una clase independiente (separate class) y el primer paso es identificar la clase de la que queremos crear una instancia, en nuestro caso, queremos utilizar la clase KNeighborsRegressor.

Cualquier modelo que nos ayude a predecir valores numéricos, como el precio de venta en nuestro caso, se conoce como modelo de regresión, la otra clase principal de modelos de aprendizaje automático se denomina clasificación (classification), en la que intentamos predecir una etiqueta a partir de un conjunto fijo de etiquetas (por ejemplo, el tipo de sangre o el sexo), la palabra regressor del nombre de la clase KNeighborsRegressor se refiere a la clase del modelo de regresión que acabamos de discutir.

Scikit-learn utiliza un estilo orientado a objetos similar al de Matplotlib y es necesario instanciar primero un modelo vacío llamando al constructor.


Si consultas la documentación(documentation) , te darás cuenta de que por defecto:

  • n_neighbors: el número de vecinos, se establece en 5
  • algorithm: para calcular los vecinos más cercanos, se establece en auto
  • p: se establece en 2, correspondiente a la distancia euclidiana

Pongamos el parámetro del algorithm en bruto(brute) y dejemos el valor de n_vecinos (n_neighbors) como 5, que coincide con la implementación que escribimos en la última misión, si dejamos el parámetro del algorithm establecido en el valor por defecto de auto, scikit-learn tratará de utilizar las optimizaciones basadas en el árbol para mejorar el rendimiento (que están fuera del alcance de esta misión):


Última modificación: miércoles, 27 de abril de 2022, 22:46