Modelos
Ya se han cubierto los fundamentos del preprocesamiento de datos y la construcción de pipelines. El siguiente paso es el modelado.
Un modelo en Scikit-learn es un estimador que proporciona los métodos .predict()
y .score()
, junto con .fit()
heredado de todos los estimadores.
.fit()
Una vez que los datos están preprocesados y listos para ingresar al modelo, el primer paso para construir un modelo es el entrenamiento del modelo. Esto se realiza utilizando .fit(X, y)
.
Para entrenar un modelo que realiza una tarea de aprendizaje supervisado (por ejemplo, regresión, clasificación), es necesario pasar tanto X
como y
al método .fit()
.
Si se trata de una tarea de aprendizaje no supervisado (por ejemplo, clustering), no se requieren datos etiquetados, por lo que se puede pasar solo la variable X
, .fit(X)
. Sin embargo, usar .fit(X, y)
no generará un error. El modelo simplemente ignorará la variable y
.
Durante el entrenamiento, un modelo aprende todo lo necesario para realizar predicciones. Lo que el modelo aprende y la duración del entrenamiento dependen del algoritmo seleccionado. Para cada tarea, existen numerosos modelos disponibles, basados en diferentes algoritmos. Algunos entrenan más lento, mientras que otros lo hacen más rápido.
Sin embargo, el entrenamiento suele ser el aspecto más lento del aprendizaje automático. Si el conjunto de entrenamiento es grande, un modelo podría tardar minutos, horas o incluso días en entrenarse.
.predict()
Una vez que el modelo ha sido entrenado utilizando el método .fit()
, puede realizar predicciones. Predecir es tan sencillo como llamar al método .predict()
:
model.fit(X, y) # Train a model
y_pred = model.predict(X_new) # Get a prediction
Normalmente, se desea predecir un objetivo para nuevas instancias, X_new
.
.score()
El método .score()
se utiliza para medir el rendimiento de un modelo entrenado. Por lo general, se calcula sobre el conjunto de prueba (los siguientes capítulos explicarán qué es). La sintaxis es la siguiente:
model.fit(X, y) # Training the model
model.score(X_test, y_test)
El método .score()
requiere valores reales del objetivo (y_test
en el ejemplo). Calcula la predicción para las instancias de X_test
y compara esta predicción con el objetivo real (y_test
) utilizando alguna métrica. Por defecto, esta métrica es la precisión para clasificación.
X_test
se refiere al subconjunto del conjunto de datos, conocido como conjunto de prueba, utilizado para evaluar el rendimiento de un modelo después del entrenamiento. Contiene las características (datos de entrada). y_test
es el subconjunto correspondiente de etiquetas reales para X_test
. Juntos, permiten evaluar qué tan bien predice el modelo datos nuevos y no vistos.
¡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
Modelos
Desliza para mostrar el menú
Ya se han cubierto los fundamentos del preprocesamiento de datos y la construcción de pipelines. El siguiente paso es el modelado.
Un modelo en Scikit-learn es un estimador que proporciona los métodos .predict()
y .score()
, junto con .fit()
heredado de todos los estimadores.
.fit()
Una vez que los datos están preprocesados y listos para ingresar al modelo, el primer paso para construir un modelo es el entrenamiento del modelo. Esto se realiza utilizando .fit(X, y)
.
Para entrenar un modelo que realiza una tarea de aprendizaje supervisado (por ejemplo, regresión, clasificación), es necesario pasar tanto X
como y
al método .fit()
.
Si se trata de una tarea de aprendizaje no supervisado (por ejemplo, clustering), no se requieren datos etiquetados, por lo que se puede pasar solo la variable X
, .fit(X)
. Sin embargo, usar .fit(X, y)
no generará un error. El modelo simplemente ignorará la variable y
.
Durante el entrenamiento, un modelo aprende todo lo necesario para realizar predicciones. Lo que el modelo aprende y la duración del entrenamiento dependen del algoritmo seleccionado. Para cada tarea, existen numerosos modelos disponibles, basados en diferentes algoritmos. Algunos entrenan más lento, mientras que otros lo hacen más rápido.
Sin embargo, el entrenamiento suele ser el aspecto más lento del aprendizaje automático. Si el conjunto de entrenamiento es grande, un modelo podría tardar minutos, horas o incluso días en entrenarse.
.predict()
Una vez que el modelo ha sido entrenado utilizando el método .fit()
, puede realizar predicciones. Predecir es tan sencillo como llamar al método .predict()
:
model.fit(X, y) # Train a model
y_pred = model.predict(X_new) # Get a prediction
Normalmente, se desea predecir un objetivo para nuevas instancias, X_new
.
.score()
El método .score()
se utiliza para medir el rendimiento de un modelo entrenado. Por lo general, se calcula sobre el conjunto de prueba (los siguientes capítulos explicarán qué es). La sintaxis es la siguiente:
model.fit(X, y) # Training the model
model.score(X_test, y_test)
El método .score()
requiere valores reales del objetivo (y_test
en el ejemplo). Calcula la predicción para las instancias de X_test
y compara esta predicción con el objetivo real (y_test
) utilizando alguna métrica. Por defecto, esta métrica es la precisión para clasificación.
X_test
se refiere al subconjunto del conjunto de datos, conocido como conjunto de prueba, utilizado para evaluar el rendimiento de un modelo después del entrenamiento. Contiene las características (datos de entrada). y_test
es el subconjunto correspondiente de etiquetas reales para X_test
. Juntos, permiten evaluar qué tan bien predice el modelo datos nuevos y no vistos.
¡Gracias por tus comentarios!