Rastgele ormanlar
Random Forests, bireysel karar ağaçlarını bootstrap birleştirme (kısaca bagging) ile kullanan klasik ve güçlü bir topluluk (ensemble) yöntemidir. Bu tür bir modelde iki temel hiperparametre, ağaç sayısı ve her ağacın maksimum derinliğidir. Bu egzersizde, sabit bazı hiperparametre değerleriyle basit bir random forest sınıflandırıcıyı uygulayıp değerlendireceksin.
X_train, y_train, X_test, y_test çalışma alanında mevcut. pandas pd olarak, numpy np olarak ve sklearn de hazır. sklearn.ensemble içindeki RandomForestClassifier() da mevcut; ayrıca sklearn.metrics içinden roc_curve() ve auc() fonksiyonlarını da kullanabilirsin.
Bu egzersiz, kursun bir parçasıdır
Python ile Machine Learning kullanarak TOB tahmini
Egzersiz talimatları
- 50 ağaçlı ve maksimum derinliği 5 olan bir random forest sınıflandırıcı oluştur.
- Sınıflandırıcıyı eğit ve test verisi için
.predict_proba()ile olasılık skorlarını,.predict()ile tahminleri al. - Önce
roc_curve()ilefprvetprhesaplayıp, ardından sonuç üzerindeauc()uygulayarak sınıflandırıcının ROC eğrisi AUC değerini değerlendir. - Sınıflandırıcı için precision ve recall metriklerini değerlendir.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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))