Qué es un modelo de ML
Lección 3 de 19 del curso Introducción al aprendizaje automático de Coddy.
Un modelo de aprendizaje automático tiene como objetivo realizar predicciones basadas en datos históricos. Para hacerlo de manera efectiva, el modelo debe comprender las propiedades estadísticas del conjunto de datos. Esta comprensión no se puede lograr simplemente proporcionando al modelo un algoritmo o una función matemática que describa la distribución de los datos.
En su lugar, el modelo debe aprender estas propiedades a través del entrenamiento. Además, cada conjunto de datos tiene propiedades estadísticas únicas. Por lo tanto, se debe entrenar un modelo independiente para cada conjunto de datos distinto.
La fase de aprendizaje se denomina fitting o fit. Después de que el modelo aprende la distribución de los datos, podemos proporcionarle nuevos datos que nunca ha visto y predecir su resultado; esta fase se denomina predicting o predict.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Desafío
FácilCrearemos el modelo de aprendizaje automático supervisado más simple en este desafío. Este modelo no se utiliza de ninguna manera en la industria. Más bien, el propósito de este modelo es demostrar cómo se vería un modelo de aprendizaje automático real.
Crea un modelo que devuelva el valor de y más frecuente para los valores de X correspondientes.
Instrucciones:
El método
fitcuenta para cadaXelymás frecuente y almacena el resultado en la variableself.mode
Por ejemplo, para el siguiente conjunto de datos:<strong>X</strong>A B A A B <strong>Y</strong>1 1 0 1 1 self.modedebería contener:{"A": 1, "B": 1}- El método
predictrecibe una lista deX_testy devuelve una lista de la misma longitud. Cada valor en la lista devuelta es elypredicho correspondiente aX, utilizando elself.modeaprendido en la fasefit.
por ejemplo, siself.modecontiene{"A": 1, "B": 1}yX_traines['A', 'B', 'C']entonces la salida debería ser:[1, 1, None]
Cómo pasar los casos de prueba:
Crea una función llamada train_and_predict que reciba las listas X_train, y_train y X_test. Seguirá los siguientes pasos:
- Aprender usando el método fit con X_train y y_train
- predecir las etiquetas de X_test
- devolver las etiquetas predichas
Pruébalo tú mismo
import numpy as np
np.set_printoptions(legacy='1.13')
class SimpleModel:
def __init__(self):
self.mode = {}
def fit(self, X, y):
# Escribe tu código aquí
def predict(self, X):
# Escribe tu código aquí
def train_and_predict(X_train, y_train, X_test):
model = SimpleModel()
# Ajustar el modelo con X_train y y_train
# Predecir las etiquetas de X_test
# Devolver las etiquetas predichasTodas las lecciones de Introducción al aprendizaje automático
Practica por tu cuenta: Compilador de Python online