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
Ö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äknafprochtpr, och sedanauc()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))