Zacznij terazZacznij za darmo

Lasy losowe

Lasy losowe (random forests) to klasyczna i skuteczna metoda zespołowa, która łączy pojedyncze drzewa decyzyjne za pomocą agregacji bootstrapowej (tzw. bagging). Dwa główne hiperparametry tego modelu to liczba drzew oraz maksymalna głębokość każdego z nich. W tym ćwiczeniu zaimplementujesz i ocenisz prosty klasyfikator oparty na lasach losowych z ustalonymi wartościami hiperparametrów.

W przestrzeni roboczej dostępne są: X_train, y_train, X_test, y_test. Załadowane są również biblioteki pandas jako pd, numpy jako np oraz sklearn. Do dyspozycji masz także klasę RandomForestClassifier() z modułu sklearn.ensemble, a także funkcje roc_curve() i auc() z modułu sklearn.metrics.

To ćwiczenie jest częścią kursu

Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz klasyfikator lasów losowych z 50 drzewami i maksymalną głębokością równą 5.
  • Wytrenuj klasyfikator, a następnie pobierz prawdopodobieństwa za pomocą .predict_proba() oraz predykcje za pomocą .predict() dla danych testowych.
  • Wyznacz pole pod krzywą ROC: najpierw użyj funkcji roc_curve(), aby obliczyć fpr i tpr, a następnie zastosuj auc() na wynikach.
  • Oblicz precyzję i czułość klasyfikatora.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Create random forest classifier with specified params
clf = ____(____ = 50, ____ = 5)

# Train classifier - predict probability score and label
y_score = clf.____(X_train, y_train).____(X_test) 
y_pred = clf.____(X_train, y_train).____(X_test) 

# Get ROC curve metrics
fpr, tpr, thresholds = ____(y_test, y_score[:, 1])
print("ROC of AUC: %s"%(____(fpr, tpr)))

# Get precision and recall
precision = ____(y_test, y_pred, average = 'weighted')
recall = ____(y_test, y_pred, average = 'weighted')
print("Precision: %s, Recall: %s" %(precision, recall))
Edytuj i uruchom kod