Păduri aleatoare
Pădurile aleatoare (Random Forests) sunt o metodă de ansamblu clasică și puternică, care utilizează arbori de decizie individuali prin agregare bootstrap (sau „bagging", pe scurt). Doi hiperparametri principali implicați în acest tip de model sunt numărul de arbori și adâncimea maximă a fiecărui arbore. În acest exercițiu, vei implementa și evalua un clasificator simplu de tip pădure aleatoare, cu valori fixe pentru hiperparametri.
X_train, y_train, X_test, y_test sunt disponibile în spațiul tău de lucru. pandas ca pd, numpy ca np și sklearn sunt de asemenea disponibile. RandomForestClassifier() din sklearn.ensemble este disponibil și el, împreună cu roc_curve() și auc() din sklearn.metrics.
Acest exercițiu face parte din cursul
Predicția CTR cu Machine Learning în Python
Instrucțiuni pentru exercițiu
- Creează un clasificator de tip pădure aleatoare cu 50 de arbori și o adâncime maximă de 5.
- Antrenează clasificatorul, obține scorurile de probabilitate cu
.predict_proba()și predicțiile cu.predict()pentru datele de testare. - Evaluează AUC-ul curbei ROC pentru clasificator folosind mai întâi
roc_curve()pentru a calculafprșitpr, apoiauc()pe rezultat. - Evaluează precizia și recall-ul clasificatorului.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))