ageron / handson-ml

⛔️ DEPRECATED – See https://github.com/ageron/handson-ml3 instead.
Apache License 2.0
25.18k stars 12.92k forks source link

Pipelines de transformation chapitre 2 #603

Open nganguenf opened 3 years ago

nganguenf commented 3 years ago

Bonjour, J'ai eu ce problème:

#Pipeline de transformation des colonnes numériques
from sklearn.pipeline import Pipeline  
from sklearn.preprocessing import StandardScaler
num_pipeline = Pipeline([("imputer", SimpleImputer(strategy="median")), ("attribs_adder", CombinedAttributesAdder()), ("std_scaler", StandardScaler())])  
housing_num_tr = num_pipeline.fit_transform(housing_num)

Et ceci comme erreur:

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-35-7f20238e9e67> in <module>
      2 from sklearn.pipeline import Pipeline
      3 from sklearn.preprocessing import StandardScaler
----> 4 num_pipeline = Pipeline([("imputer", SimpleImputer(strategy="median")), ("attribs_adder", CombinedAttributesAdder()), ("std_scaler", StandardScaler())])
      5 housing_num_tr = num_pipeline.fit_transform(housing_num)

NameError: name 'CombinedAttributesAdder' is not defined

Puis-je avoir de l'aide? Merci

Grimmys commented 3 years ago

Bonjour,

CombinedAttribuesAdder est une classe ayant été définie dans la sous-section " Custom Transformers ", une page en arrière (dans l'édition anglaise, cela correspond à la page 68).

ageron commented 3 years ago

Bonjour @nganguenf , Comme le dit @Grimmys (merci !), la classe CombinedAttributesAdder est définie un peu plus tôt dans le livre. Vous pouvez aussi voir sa définition dans le notebook Jupyter, un peu avant le code qui vous donne cette erreur. Assurez-vous de bien exécuter les cellules du notebook dans l'ordre, afin que la classe soit bien définie.