OOB スコア vs テストセットスコア
bc をインスタンス化できたので、これを学習用データに適合させ、テストセットと OOB の正解率を評価します。
データセットはすでに処理済みで、80% が学習用、20% がテスト用に分割されています。特徴量行列 X_train と X_test、およびラベル配列 y_train と y_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))