Úpravy modelu
Jednoduchý způsob, jak upravit model náhodného lesa tak, aby si poradil s výrazně nevyváženými daty o podvodech, je použít při definici modelu sklearn možnost class_weights. Jak ale uvidíš, jde o poměrně hrubý nástroj, který nemusí fungovat ve tvém konkrétním případě.
V tomto cvičení prozkoumáš režim weight = "balanced_subsample" modelu náhodného lesa z předchozího cvičení. Data už máš rozdělená na trénovací a testovací sadu, tedy X_train, X_test, y_train, y_test jsou k dispozici. Funkce pro metriky jsou již naimportované.
Toto cvičení je součástí kurzu
Detekce podvodů v Pythonu
Pokyny k cvičení
- Nastav argument
class_weightsvého klasifikátoru nabalanced_subsample. - Natrénuj model na trénovací sadě.
- Získej predikce a pravděpodobnosti z
X_test. - Vypočítej
roc_auc_score, klasifikační report a matici záměn.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)
# Fit your training model to your training set
model.fit(____, ____)
# Obtain the predicted values and probabilities from the model
predicted = ____.____(____)
probs = ____.____(____)
# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))