始める無料で始める

総合評価スコア

precision と recall は重みづけが異なる場合があり、そのため F-beta スコアは重要な評価指標です。さらに、AUC-ROC は precision と recall を補完する重要な指標です。以前見たように、AUC が高くても precision が低いモデルがあり得るためです。この演習では、各分類器について評価指標一式を計算します。

各分類器の名前を返す print_estimator_name() 関数が用意されています。X_trainy_trainX_testy_test はワークスペースに用意されており、特徴量はすでに標準化されています。pandaspd として、sklearn もワークスペースで利用できます。

この演習はコースの一部です

PythonでMachine Learningを使ってCTRを予測する

コースを見る

演習の手順

  • 隠れ層を1層、ユニット数を10、最大反復回数を50とする MLP 分類器を定義してください。
  • 各分類器で学習と予測を行ってください。
  • sklearn の実装を使って、precision、recall、F-beta スコア、そして ROC の AUC スコアを取得してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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))
コードを編集して実行