Studium przypadku – choroba nerek, część III: Pełny potok
Czas połączyć wszystkie transformacje wraz z XGBClassifier, aby zbudować pełny potok!
Oprócz numeric_categorical_union, który utworzyłeś(-aś) w poprzednim ćwiczeniu, potrzebne są jeszcze dwie transformacje: Dictifier() – przygotowana dla ciebie – oraz DictVectorizer().
Po utworzeniu potoku przeprowadź jego kroswalidację, aby ocenić jego skuteczność.
To ćwiczenie jest częścią kursu
Extreme Gradient Boosting with XGBoost
Instrukcje do ćwiczenia
- Utwórz potok, korzystając z transformacji
numeric_categorical_union,Dictifier()iDictVectorizer(sort=False)oraz estymatoraxgb.XGBClassifier()z parametremmax_depth=3. Nadaj transformacjom nazwy"featureunion","dictifier","vectorizer", a estymatorowi –"clf". - Przeprowadź 3-krotną kroswalidację potoku
pipelineza pomocącross_val_score(). Przekaż jej potokpipeline, cechykidney_data, wartości docelowey, a także ustawscoringna"roc_auc"icvna3.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create full pipeline
pipeline = ____([
("____", ____),
("____", ____),
("____", ____),
("____", ____)
])
# Perform cross-validation
cross_val_scores = ____(____, ____, ____, ____="____", ____=____)
# Print avg. AUC
print("3-fold AUC: ", np.mean(cross_val_scores))