El reto de la clasificación

Aprendizaje supervisado con scikit-learn

George Boorman

Core Curriculum Manager, DataCamp

Clasificar etiquetas de datos no vistos

  1. Se construye un modelo.
  2. El modelo aprende de los datos etiquetados que le pasamos.
  3. Le pasamos datos no etiquetados al modelo como entrada.
  4. El modelo predice las etiquetas de los datos no vistos.

 

  • Datos etiquetados = datos de entrenamiento
Aprendizaje supervisado con scikit-learn

k vecinos más cercanos (KNN)

  • Predecir la etiqueta de un punto de datos:

    • Observando los k puntos de datos etiquetados más cercanos

    • Utilizando el voto por mayoría

Aprendizaje supervisado con scikit-learn

k vecinos más cercanos (KNN)

gráfico de dispersión con observaciones en azul y rojo, y una nueva observación en negro

Aprendizaje supervisado con scikit-learn

k vecinos más cercanos (KNN)

radio alrededor de las tres observaciones más cercanas al punto negro

Aprendizaje supervisado con scikit-learn

k vecinos más cercanos (KNN)

radio alrededor de las cinco observaciones más cercanas al punto negro

Aprendizaje supervisado con scikit-learn

Intuición KNN

diagrama de dispersión de la carga total nocturna frente a la carga total diurna, donde las observaciones están coloreadas en azul si han cambiado y en rojo si no han cambiado

Aprendizaje supervisado con scikit-learn

Intuición KNN

diagrama de dispersión de la rotación con un límite de decisión que divide las observaciones según si el KNN predice que cambiarán de opinión o no

Aprendizaje supervisado con scikit-learn

Utilizar scikit-learn para ajustar un clasificador

from sklearn.neighbors import KNeighborsClassifier

X = churn_df[["total_day_charge", "total_eve_charge"]].values y = churn_df["churn"].values
print(X.shape, y.shape)
(3333, 2), (3333,)
knn = KNeighborsClassifier(n_neighbors=15)

knn.fit(X, y)
Aprendizaje supervisado con scikit-learn

Predecir con datos no etiquetados

X_new = np.array([[56.8, 17.5],
                  [24.4, 24.1],
                  [50.1, 10.9]])

print(X_new.shape)
(3, 2)
predictions = knn.predict(X_new)

print('Predictions: {}'.format(predictions))
Predictions: [1 0 0]
Aprendizaje supervisado con scikit-learn

¡Vamos a practicar!

Aprendizaje supervisado con scikit-learn

Preparing Video For Download...