Codificarea coloanelor categorice III: DictVectorizer
Înainte să treci la pipeline-uri, mai avem un truc util. Procesul în doi pași pe care tocmai l-ai parcurs – LabelEncoder urmat de OneHotEncoder – poate fi simplificat folosind un DictVectorizer.
Aplicând un DictVectorizer pe un DataFrame convertit în dicționar, obții atât codificarea prin etichete, cât și codificarea one-hot într-un singur pas.
Sarcina ta în acest exercițiu este să aplici această strategie!
Acest exercițiu face parte din cursul
Gradient Boosting Extrem cu XGBoost
Instrucțiuni pentru exercițiu
- Importă
DictVectorizerdinsklearn.feature_extraction. - Convertește
dfîntr-un dicționar numitdf_dictfolosind metoda sa.to_dict()cu argumentul"records". - Instanțiază un obiect
DictVectorizernumitdvcu argumentul cheiesparse=False. - Aplică
DictVectorizerpedf_dictfolosind metoda sa.fit_transform(). - Apasă Trimite răspunsul pentru a afișa primele cinci rânduri rezultate și vocabularul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Import DictVectorizer
____
# Convert df into a dictionary: df_dict
df_dict = ____
# Create the DictVectorizer object: dv
dv = ____
# Apply dv on df: df_encoded
df_encoded = ____
# Print the resulting first five rows
print(df_encoded[:5,:])
# Print the vocabulary
print(dv.vocabulary_)