Vše dohromady
Právě ses přidal/a ke startupu zaměřenému na detekci arytmií a chceš natrénovat model na datasetu arytmií arrh. Všiml/a sis, že náhodné lesy vítězí v mnoha Kaggle soutěžích, a proto je chceš vyzkoušet s maximální hloubkou 2, 5 nebo 10 pomocí grid search. Zároveň si uvědomuješ, že dataset má poměrně vysokou dimenzi, a tak chceš prozkoumat vliv metody výběru příznaků.
Aby ses vyhnul/a přeučení, data sis již rozdělil/a. Pro grid search použiješ X_train a y_train, pro posouzení přínosu výběru příznaků pak X_test a y_test. Všechny čtyři části datasetu jsou přednahrány ve tvém prostředí. Máš také k dispozici GridSearchCV(), train_test_split(), SelectKBest(), chi2() a RandomForestClassifier jako rfc.
Toto cvičení je součástí kurzu
Designing Machine Learning Workflows in Python
Pokyny k cvičení
- Pomocí grid search experimentuj s maximální hloubkou 2, 5 a 10 pro
RandomForestClassifiera ulož nejlépe fungující nastavení parametrů. - Znovu nafituj estimátor s nejlepším počtem estimátorů zjištěným výše.
- Aplikuj selektor příznaků
SelectKBestse skórovací funkcíchi2a znovu nafituj klasifikátor.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Find the best value for max_depth among values 2, 5 and 10
grid_search = GridSearchCV(
____(random_state=1), param_grid=____)
best_value = grid_search.____(
____, ____).best_params_['max_depth']
# Using the best value from above, fit a random forest
clf = rfc(
random_state=1, ____=best_value).____(X_train, y_train)
# Apply SelectKBest with chi2 and pick top 100 features
vt = SelectKBest(____, k=____).____(X_train, y_train)
# Create a new dataset only containing the selected features
X_train_reduced = ____.transform(____)