Menu
CoddyTech

Ajuster et prédire

Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 3 sur 58.

Chaque modèle scikit-learn fonctionne en deux appels. fit étudie les lignes d’entraînement avec leurs étiquettes ; predict étiquette les lignes que le modèle n’a jamais vues :

Un schéma : six animaux de compagnie, X_train avec le poids et la longueur des oreilles à côté de y_train, trois chats et trois chiens, passent par fit pour alimenter un modèle. Deux nouveaux animaux de compagnie, X_new, passent par predict, qui utilise le modèle, et ressortent étiquetés chat et chien

Le modèle de la première leçon de ce parcours est celui des k plus proches voisins : il attribue une étiquette à une ligne en fonction des lignes d’entraînement qui en sont les plus proches. Animaux domestiques selon leur poids (kg) et la longueur de leurs oreilles (cm) :

from sklearn.neighbors import KNeighborsClassifier

X_train = np.array([[4, 6], [5, 7], [3, 5], [30, 10], [25, 12], [35, 11]])
y_train = np.array(["cat", "cat", "cat", "dog", "dog", "dog"])
model = KNeighborsClassifier()
model.fit(X_train, y_train)
print(model.predict([[6, 6], [28, 11]]))

Cela affiche ['cat' 'dog']. Les nouvelles lignes sont ajoutées sous forme de tableau, une ligne par animal.

Créer, ajuster, prédire : chaque modèle de cette section suit ces trois étapes.

challenge icon

Défi

Facile

L’application d’un club d’observation des oiseaux identifie les oiseaux à partir de leur envergure et de leur poids. Le code de départ sépare le fichier birds.csv du club et lit les oiseaux de la sortie de ce soir dans le tableau spotted.

  1. Crée un modèle des k plus proches voisins et entraîne-le sur les oiseaux d’entraînement.
  2. Prédisez tous les oiseaux observés en un seul appel.
  3. Affiche une ligne par oiseau, comme ci-dessous.

Pour trois oiseaux lors d’une autre sortie :

Bird 1: sparrow
Bird 2: blackbird
Bird 3: robin

Essayez vous-même

import pandas as pd
from sklearn.model_selection import train_test_split

# Une ligne par oiseau identifié par le club : envergure en cm, poids en grammes
birds = pd.read_csv("birds.csv")
X = birds[["wingspan_cm", "weight_g"]]
y = birds["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)

# Promenade de ce soir : le nombre d’oiseaux, puis l’envergure et le poids de chacun
count = int(input())
spans = []
weights = []
for i in range(count):
    spans.append(float(input()))
    weights.append(float(input()))
spotted = pd.DataFrame({"wingspan_cm": spans, "weight_g": weights})

# Écrivez votre code ci-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Apprentissage supervisé

Entraînez-vous par vous-même : Compilateur Python en ligne