Regularisering
Regularisering innebär att man tillför information till en modell för att förhindra överanpassning. Det är viktigt för att förbättra de utvärderingsmått du såg tidigare i kapitlet. I den här övningen varierar du parametern för maximalt djup i ett beslutsträd för att se hur klassificeringsresultaten påverkas.
X_train, y_train, X_test och y_test finns tillgängliga i din arbetsyta. pandas som pd, numpy som np och sklearn finns också tillgängliga. Dessutom är confusion_matrix(), precision_score() och recall_score() från sklearn.metrics tillgängliga.
Den här övningen är en del av kursen
Förutsäga CTR med maskininlärning i Python
Övningsinstruktioner
- Skapa olika beslutsträd genom att variera det maximala djupet för varje träd.
- Anpassa varje träd och generera förutsägelser på testdata.
- Utvärdera förväxlingsmatrisen, precisionen och återkallningen för varje träd.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Iterate over different levels of max depth
for max_depth_val in [2, 3, 5, 10, 15, 20]:
# Create and fit model
clf = ____(____ = max_depth_val)
print("Evaluating tree with max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Evaluate confusion matrix, precision, recall
print("Confusion matrix: ")
print(____(y_test, y_pred))
prec = ____(____, ____, average = 'weighted')
recall = ____(____, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))