Kom igångKom igång gratis

Slumpskogar

Slumpskogar (Random Forests) är en klassisk och kraftfull ensemblemetod som bygger på individuella beslutsträd via bootstrap-aggregering (även kallat bagging). Två centrala hyperparametrar i den här typen av modell är antalet träd och det maximala djupet för varje träd. I den här övningen implementerar och utvärderar du en enkel slumpskogsklassificerare med fasta hyperparametervärden.

X_train, y_train, X_test och y_test finns tillgängliga i din arbetsyta. pandas som pd, numpy som np och sklearn är också tillgängliga. RandomForestClassifier() från sklearn.ensemble finns med, liksom roc_curve() och auc() från sklearn.metrics.

Den här övningen är en del av kursen

Förutsäga CTR med maskininlärning i Python

Visa kurs

Övningsinstruktioner

  • Skapa en slumpskogsklassificerare med 50 träd och ett maximalt djup på 5.
  • Träna klassificeraren och hämta sannolikhetspoäng via .predict_proba() samt prediktioner via .predict() för testdata.
  • Utvärdera AUC för ROC-kurvan genom att först använda roc_curve() för att beräkna fpr och tpr, och sedan auc() på resultatet.
  • Utvärdera precision och recall för klassificeraren.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod