Úprava náhodného lesa pro detekci podvodů
V tomto cvičení se ponoříš do možností klasifikátoru náhodného lesa – budeme přiřazovat váhy a upravovat tvar rozhodovacích stromů v lese. Váhy definuješ ručně, abys mohl/a mírně kompenzovat nerovnováhu ve třídách. V našem případě máme 300 podvodných a 7 000 nepodvodných transakcí, takže nastavením poměru vah 1:12 dosáhneme přibližně poměru 1/3 podvodů ku 2/3 nepodvodů – to je pro trénink modelu dostatečné.
Data v tomto cvičení jsou již rozdělena na trénovací a testovací sadu, takže se můžeš soustředit jen na definici modelu. Poté využij funkci get_model_results() jako zkratku. Tato funkce přizpůsobí model trénovacím datům, provede predikci a vypočítá metriky výkonu – podobně jako v předchozích cvičeních.
Toto cvičení je součástí kurzu
Detekce podvodů v Pythonu
Pokyny k cvičení
- Změň parametr
weighttak, aby byl poměr pro nepodvodné a podvodné případy 1 ku 12, a nastav kritérium rozdělení na 'entropy'. - Nastav maximální hloubku stromu na 10.
- Nastav minimální počet vzorků v listových uzlech na 10.
- Nastav počet stromů v modelu na 20.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Change the model options
model = RandomForestClassifier(bootstrap=True, class_weight={0:____, 1:____}, criterion='____',
# Change depth of model
max_depth=____,
# Change the number of samples in leaf nodes
min_samples_leaf=____,
# Change the number of trees to use
n_estimators=____, n_jobs=-1, random_state=5)
# Run the function get_model_results
get_model_results(X_train, y_train, X_test, y_test, model)