Introducción
En este laboratorio, exploraremos la configuración y el objeto estimador en scikit-learn, una popular biblioteca de aprendizaje automático en Python. Aprenderemos sobre los conjuntos de datos, que se representan como matrices bidimensionales, y cómo preprocesarlos para scikit-learn. También exploraremos el concepto de objetos estimadores, que se utilizan para aprender a partir de datos y hacer predicciones.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.
Comprendiendo los Conjuntos de Datos
Scikit-learn representa los conjuntos de datos como matrices bidimensionales, donde el primer eje representa las muestras y el segundo eje representa las características. Echemos un vistazo a un ejemplo utilizando el conjunto de datos iris:
from sklearn import datasets
iris = datasets.load_iris()
data = iris.data
print(data.shape)
Salida:
(150, 4)
El conjunto de datos iris consta de 150 observaciones de iris, con cada observación descrita por 4 características. La forma de la matriz de datos es (150, 4).
Redimensionando los Datos
A veces, los datos pueden no estar inicialmente en la forma requerida por scikit-learn. En tales casos, necesitamos preprocesar los datos para transformarlos en la forma (n_muestras, n_características). Un ejemplo de redimensionamiento de datos es el conjunto de datos de dígitos, que consta de 1797 imágenes de 8x8 de dígitos escritos a mano:
digits = datasets.load_digits()
print(digits.images.shape)
Salida:
(1797, 8, 8)
Para utilizar este conjunto de datos con scikit-learn, necesitamos redimensionar cada imagen de 8x8 en un vector de características de longitud 64:
data = digits.images.reshape((digits.images.shape[0], -1))
Objetos Estimadores
Los objetos estimadores en scikit-learn se utilizan para aprender a partir de datos y hacer predicciones. Pueden ser algoritmos de clasificación, regresión o agrupamiento, o transformadores que extraen características útiles de datos crudos. Veamos un ejemplo sencillo de un objeto estimador:
from sklearn.base import BaseEstimator
class Estimator(BaseEstimator):
def __init__(self, param1=0, param2=0):
self.param1 = param1
self.param2 = param2
def fit(self, data):
## Implementación del método fit
pass
estimator = Estimator()
Ajustando los Datos
La principal API implementada por scikit-learn es el método fit de un objeto estimador. Toma un conjunto de datos (por lo general una matriz bidimensional) como entrada. Para ajustar datos con un estimador, podemos llamar al método fit:
estimator.fit(data)
Parámetros del Estimador
Los objetos estimadores pueden tener parámetros que afectan su comportamiento. Estos parámetros se pueden establecer cuando se instancia el estimador o modificando el atributo correspondiente. Establezcamos algunos parámetros para nuestro estimador de ejemplo:
estimator = Estimator(param1=1, param2=2)
print(estimator.param1)
Salida:
1
Parámetros Estimados
Cuando se ajustan datos con un estimador, los parámetros se estiman a partir de los datos. Todos los parámetros estimados son atributos del objeto estimador, terminando con un subrayado. Por ejemplo:
print(estimator.estimated_param_)
Resumen
En este laboratorio, aprendimos sobre los conjuntos de datos en scikit-learn, cómo reorganizar los datos y el concepto de objetos estimadores. Exploramos el ajuste de datos con un estimador, la configuración de parámetros y el acceso a los parámetros estimados. Esta comprensión del entorno y del objeto estimador será esencial al trabajar con scikit-learn para tareas de aprendizaje estadístico.