Conceptos de Scikit-learn
La biblioteca scikit-learn (importada como sklearn) ofrece diversas 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 posee 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 resulta muy útil que un objeto solo aprenda 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 tiene el método .fit() y el 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 .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() secuencialmente, 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 se muestran 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
Awesome!
Completion rate improved to 3.13
Conceptos de Scikit-learn
Desliza para mostrar el menú
La biblioteca scikit-learn (importada como sklearn) ofrece diversas 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 posee 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 resulta muy útil que un objeto solo aprenda 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 tiene el método .fit() y el 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 .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() secuencialmente, 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 se muestran 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!