Bortom enbart noggrannhet
I den här övningen går du bortom att bara titta på noggrannhet och utvärderar i stället AUC för ROC-kurvan för en grundläggande beslutsträdsmodell. Kom ihåg att jämförelsenivån för en slumpmässig klassificerare är ett AUC-värde på 0,5 – du vill alltså uppnå ett högre värde än så.
X finns tillgängligt som en DataFrame med särdrag och y som en DataFrame med målvärden. Både sklearn och pandas som pd finns också tillgängliga i din arbetsyta.
Vi använder den här uppsättningen för att undersöka AUC för vår ROC-kurva.
Den här övningen är en del av kursen
Förutsäga CTR med maskininlärning i Python
Övningsinstruktioner
- Dela upp data i en tränings- och en testmängd.
- Träna klassificeraren på träningsdata och gör sedan prediktioner för testdata med
predict_proba()ochpredict(). - Beräkna AUC under ROC-kurvan med funktionen
roc_curve()påy_testviaroc_curve(y_test, y_score[:, 1]).
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Training and testing
X_train, X_test, y_train, y_test = \
____(X, y, test_size = .2, random_state = 0)
# Create decision tree classifier
clf = DecisionTreeClassifier()
# Train classifier - predict probability score and label
y_score = clf.fit(____, ____).predict_proba(____)
y_pred = clf.fit(____, ____).predict(____)
# Get ROC curve metrics
fpr, tpr, thresholds = ____(____, y_score[:, 1])
roc_auc = auc(fpr, tpr)
print(roc_auc)