Conceptos de Scikit-learn
La biblioteca scikit-learn (importada como sklearn
) ofrece varias funciones y clases para el preprocesamiento de datos y modelado. Los principales objetos de sklearn
son estimator, transformer, predictor y model.
Estimator
Cada clase de sklearn
que tiene el método .fit()
se considera un estimator. El método .fit()
permite que un objeto aprenda a partir de los datos.
En otras palabras, el método .fit()
se utiliza para entrenar un objeto. Recibe los parámetros X
y y
(y
es opcional para tareas de aprendizaje no supervisado).
estimator.fit(X, y) # For supervised learning tasks
estimator.fit(X) # For unsupervised learning tasks
No es muy útil si un objeto solo aprende de los datos sin producir ningún resultado. Son más prácticos los dos tipos de objetos que heredan del estimator: el transformer y el predictor.
Transformador
Un transformador dispone del método .fit()
y del método .transform()
que transforma los datos de alguna manera.
Normalmente, los transformadores necesitan aprender algo de los datos antes de transformarlos, por lo que es necesario aplicar primero .fit()
y luego .transform()
. Para evitar esto, los transformadores también cuentan con el método .fit_transform()
.
.fit_transform()
produce el mismo resultado que aplicar .fit()
y .transform()
de forma secuencial, pero a veces es más rápido, por lo que se prefiere sobre .fit().transform()
.
transformer.fit(X) # Train the transformer
transformer.transform(X) # Transform the data using an already trained transformer
transformer.fit_transform(X) # Train the transformer and transform the data
Los transformadores suelen utilizarse para transformar el arreglo X
. Sin embargo, como veremos en el ejemplo de LabelEncoder
, algunos transformadores están diseñados para el arreglo y
.
Los valores nan
que aparecen en el conjunto de entrenamiento en la imagen indican datos faltantes en Python.
Predictor
Un predictor es un estimador (posee el método .fit()
) que también tiene el método .predict()
. El método .predict()
se utiliza para realizar predicciones.
predictor.fit(X, y) # Training the predictor
predictor.predict(X_new) # Predicting the target for new instances once the predictor is trained.
Modelo
Un modelo es un tipo de predictor que también incluye el método .score()
. Este método calcula una puntuación (métrica) para medir el rendimiento del predictor.
model.fit(X, y) # Train the model
model.score(X, y) # Calculate a score for the trained model on X, y set.
Como se mencionó en el capítulo anterior, la precisión es una métrica que representa el porcentaje de predicciones correctas.
La etapa de preprocesamiento implica trabajar con transformadores, y trabajamos con predictores (más específicamente con modelos) en la etapa de modelado.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain the difference between a transformer and a predictor?
What are some common examples of transformers and predictors in scikit-learn?
How do I choose which scikit-learn object to use for my task?
Awesome!
Completion rate improved to 3.13
Conceptos de Scikit-learn
Desliza para mostrar el menú
La biblioteca scikit-learn (importada como sklearn
) ofrece varias funciones y clases para el preprocesamiento de datos y modelado. Los principales objetos de sklearn
son estimator, transformer, predictor y model.
Estimator
Cada clase de sklearn
que tiene el método .fit()
se considera un estimator. El método .fit()
permite que un objeto aprenda a partir de los datos.
En otras palabras, el método .fit()
se utiliza para entrenar un objeto. Recibe los parámetros X
y y
(y
es opcional para tareas de aprendizaje no supervisado).
estimator.fit(X, y) # For supervised learning tasks
estimator.fit(X) # For unsupervised learning tasks
No es muy útil si un objeto solo aprende de los datos sin producir ningún resultado. Son más prácticos los dos tipos de objetos que heredan del estimator: el transformer y el predictor.
Transformador
Un transformador dispone del método .fit()
y del método .transform()
que transforma los datos de alguna manera.
Normalmente, los transformadores necesitan aprender algo de los datos antes de transformarlos, por lo que es necesario aplicar primero .fit()
y luego .transform()
. Para evitar esto, los transformadores también cuentan con el método .fit_transform()
.
.fit_transform()
produce el mismo resultado que aplicar .fit()
y .transform()
de forma secuencial, pero a veces es más rápido, por lo que se prefiere sobre .fit().transform()
.
transformer.fit(X) # Train the transformer
transformer.transform(X) # Transform the data using an already trained transformer
transformer.fit_transform(X) # Train the transformer and transform the data
Los transformadores suelen utilizarse para transformar el arreglo X
. Sin embargo, como veremos en el ejemplo de LabelEncoder
, algunos transformadores están diseñados para el arreglo y
.
Los valores nan
que aparecen en el conjunto de entrenamiento en la imagen indican datos faltantes en Python.
Predictor
Un predictor es un estimador (posee el método .fit()
) que también tiene el método .predict()
. El método .predict()
se utiliza para realizar predicciones.
predictor.fit(X, y) # Training the predictor
predictor.predict(X_new) # Predicting the target for new instances once the predictor is trained.
Modelo
Un modelo es un tipo de predictor que también incluye el método .score()
. Este método calcula una puntuación (métrica) para medir el rendimiento del predictor.
model.fit(X, y) # Train the model
model.score(X, y) # Calculate a score for the trained model on X, y set.
Como se mencionó en el capítulo anterior, la precisión es una métrica que representa el porcentaje de predicciones correctas.
La etapa de preprocesamiento implica trabajar con transformadores, y trabajamos con predictores (más específicamente con modelos) en la etapa de modelado.
¡Gracias por tus comentarios!