Pemilihan model
Regularization dan cross validation adalah alat yang kuat dalam pemilihan model. Regularization dapat membantu mencegah overfitting dan cross validation memastikan model Anda dievaluasi dengan tepat. Pada latihan ini, Anda akan menggunakan regularization dan cross validation secara bersamaan dan melihat apakah model berbeda secara signifikan atau tidak. Anda hanya akan menghitung precision, meskipun latihan yang sama dapat dengan mudah dilakukan untuk recall dan metrik evaluasi lainnya juga.
X_train, y_train, X_test, y_test tersedia di workspace Anda. pandas sebagai pd, numpy sebagai np, dan sklearn juga tersedia di workspace Anda. Baik precision_score() maupun recall_score() dari sklearn.metrics tersedia, begitu pula KFold() dan cross_val_score() dari sklearn.model_selection.
Latihan ini adalah bagian dari kursus
Memprediksi CTR dengan Machine Learning di Python
Petunjuk latihan
- Siapkan K-Fold cross validation dengan empat split menggunakan
n_splitsdan tetapkan kek-fold. - Buat classifier decision tree.
- Gunakan
k_folduntuk menjalankan cross validation dan evaluasi precision dan recall model decision tree Anda untuk nilaimax_depthyang diberikan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Iterate over different levels of max depth and set up k-fold
for max_depth_val in [3, 5, 10]:
k_fold = ____(____ = 4, random_state = 0, shuffle = True)
clf = ____(____ = max_depth_val)
print("Evaluating Decision Tree for max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Calculate precision for cross validation and test
cv_precision = ____(
____, X_train, y_train, cv = k_fold, scoring = 'precision_weighted')
precision = ____(y_test, y_pred, average = 'weighted')
print("Cross validation Precision: %s" %(cv_precision))
print("Test Precision: %s" %(precision))