Bắt đầu ngayBắt đầu miễn phí

Chấm điểm tổng hợp

Hãy nhớ rằng precision và recall có thể được gán trọng số khác nhau, vì vậy F-beta là một thước đo đánh giá quan trọng. Bên cạnh đó, ROC và diện tích dưới đường cong AUC là chỉ số bổ trợ quan trọng cho precision và recall, vì trước đó bạn đã thấy có trường hợp một mô hình có AUC cao nhưng precision thấp. Trong bài tập này, bạn sẽ tính trọn bộ chỉ số đánh giá cho mỗi bộ phân loại.

Một hàm print_estimator_name() được cung cấp để in tên của từng bộ phân loại. X_train, y_train, X_test, y_test có sẵn trong không gian làm việc của bạn, và các đặc trưng đã được chuẩn hóa. pandas dưới alias pdsklearn cũng đã sẵn sàng trong không gian làm việc của bạn.

Bài tập này là một phần của khóa học

Dự đoán CTR với Machine Learning trong Python

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa một MLP classifier với một hidden layer gồm 10 hidden units và tối đa 50 vòng lặp (max iterations).
  • Huấn luyện và dự đoán cho từng bộ phân loại.
  • Dùng các hàm trong sklearn để lấy precision, recall, F-beta score và AUC của ROC.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Create classifiers
clfs = [LogisticRegression(), DecisionTreeClassifier(), RandomForestClassifier(), 
        ____(____ = (10, ), ____ = 50)]

# Produce all evaluation metrics for each classifier
for clf in clfs:
  print("Evaluating classifier: %s" %(print_estimator_name(clf)))
  y_score = clf.fit(X_train, y_train).____(X_test)
  y_pred = clf.fit(X_train, y_train).____(X_test)
  prec = ____(y_test, y_pred, average = 'weighted')
  recall = ____(y_test, y_pred, average = 'weighted')
  fbeta = ____(y_test, y_pred, beta = 0.5, average = 'weighted')
  roc_auc = ____(y_test, y_score[:, 1])
  print("Precision: %s: Recall: %s, F-beta score: %s, AUC of ROC curve: %s" 
        %(prec, recall, fbeta, roc_auc))
Chỉnh sửa và Chạy Mã