始める無料で始める

OOB スコア vs テストセットスコア

bc をインスタンス化できたので、これを学習用データに適合させ、テストセットと OOB の正解率を評価します。

データセットはすでに処理済みで、80% が学習用、20% がテスト用に分割されています。特徴量行列 X_trainX_test、およびラベル配列 y_trainy_test はワークスペースに用意されています。さらに、前の演習でインスタンス化した分類器 bc と、sklearn.metrics から読み込んだ関数 accuracy_score() も利用できます。

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

Pythonで学ぶ木ベースのMachine Learning

コースを見る

演習の手順

  • bc を学習用データに適合させ、テストセットのラベルを予測して、結果を y_pred に代入します。

  • accuracy_score を呼び出して、テストセットの正解率 acc_test を評価します。

  • bc の属性 oob_score_ を取り出して、OOB の正解率 acc_oob を評価します。

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

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

# Fit bc to the training set 
____.____(____, ____)

# Predict test set labels
y_pred = ____.____(____)

# Evaluate test set accuracy
acc_test = ____(____, ____)

# Evaluate OOB accuracy
acc_oob = ____.____

# Print acc_test and acc_oob
print('Test set accuracy: {:.3f}, OOB accuracy: {:.3f}'.format(acc_test, acc_oob))
コードを編集して実行