Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Estimateur Final | Section
Fondements de l'Apprentissage Automatique

bookEstimateur Final

Pipeline était auparavant utilisé pour le prétraitement, mais son véritable objectif est de chaîner le prétraitement avec un prédicteur final. La dernière étape d'un pipeline peut être n'importe quel estimateur (généralement un modèle) qui produit des prédictions.

Note
Remarque

Lors de l'appel de .fit(), chaque transformateur exécute .fit_transform(). Lors de l'appel de .predict(), le pipeline utilise .transform() avant d'envoyer les données à l'estimateur final. Cela est nécessaire car les nouvelles données doivent être transformées exactement comme les données d'entraînement.

Pourquoi .transform() ?

Utiliser .fit_transform() sur de nouvelles données pourrait modifier les encodages (par exemple, dans OneHotEncoder), créant des colonnes non correspondantes et des prédictions peu fiables. .transform() garantit un prétraitement cohérent, en ignorant les catégories inconnues et en conservant le même ordre de colonnes.

Voici à quoi ressemblent les données d'entraînement après encodage one-hot :

Voici les nouvelles instances à prédire :

Si .fit_transform() était appliqué à de nouvelles instances, le OneHotEncoder pourrait générer des colonnes dans un ordre différent ou même en introduire de nouvelles. Cela entraînerait une transformation des nouvelles données incohérente avec l'ensemble d'entraînement, rendant les prédictions non fiables.

Cependant, l'utilisation de .transform() garantit que les nouvelles données sont encodées exactement comme les données d'entraînement, en ignorant les catégories non observées lors de l'entraînement :

Ajout de l'estimateur final

Il suffit d'ajouter le modèle comme dernière étape du pipeline :

pipe = make_pipeline(
    ct,
    SimpleImputer(strategy='most_frequent'),
    StandardScaler(),
    KNeighborsClassifier()
)
pipe.fit(X, y)
pipe.predict(X_new)

Cela permet à l'ensemble du flux de travail—prétraitement + prédiction—de s'exécuter en une seule commande.

question mark

Quelles affirmations concernant l'estimateur final et le prétraitement dans un pipeline sont correctes ?

Select all correct answers

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 21

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookEstimateur Final

Glissez pour afficher le menu

Pipeline était auparavant utilisé pour le prétraitement, mais son véritable objectif est de chaîner le prétraitement avec un prédicteur final. La dernière étape d'un pipeline peut être n'importe quel estimateur (généralement un modèle) qui produit des prédictions.

Note
Remarque

Lors de l'appel de .fit(), chaque transformateur exécute .fit_transform(). Lors de l'appel de .predict(), le pipeline utilise .transform() avant d'envoyer les données à l'estimateur final. Cela est nécessaire car les nouvelles données doivent être transformées exactement comme les données d'entraînement.

Pourquoi .transform() ?

Utiliser .fit_transform() sur de nouvelles données pourrait modifier les encodages (par exemple, dans OneHotEncoder), créant des colonnes non correspondantes et des prédictions peu fiables. .transform() garantit un prétraitement cohérent, en ignorant les catégories inconnues et en conservant le même ordre de colonnes.

Voici à quoi ressemblent les données d'entraînement après encodage one-hot :

Voici les nouvelles instances à prédire :

Si .fit_transform() était appliqué à de nouvelles instances, le OneHotEncoder pourrait générer des colonnes dans un ordre différent ou même en introduire de nouvelles. Cela entraînerait une transformation des nouvelles données incohérente avec l'ensemble d'entraînement, rendant les prédictions non fiables.

Cependant, l'utilisation de .transform() garantit que les nouvelles données sont encodées exactement comme les données d'entraînement, en ignorant les catégories non observées lors de l'entraînement :

Ajout de l'estimateur final

Il suffit d'ajouter le modèle comme dernière étape du pipeline :

pipe = make_pipeline(
    ct,
    SimpleImputer(strategy='most_frequent'),
    StandardScaler(),
    KNeighborsClassifier()
)
pipe.fit(X, y)
pipe.predict(X_new)

Cela permet à l'ensemble du flux de travail—prétraitement + prédiction—de s'exécuter en une seule commande.

question mark

Quelles affirmations concernant l'estimateur final et le prétraitement dans un pipeline sont correctes ?

Select all correct answers

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 21
some-alt