ランダムフォレストモデルを構築する
今回も Pima Indians データセットを用いて、各個人が糖尿病かどうかを予測します。今度はランダムフォレスト分類器を使います。train-test 分割を行ったあと、学習データでモデルを学習し、特徴量重要度を確認します。
特徴量データセットとターゲットデータセットは、それぞれ X と y としてあらかじめ読み込まれています。必要なパッケージや関数も同様に用意済みです。
この演習はコースの一部です
Pythonで学ぶ次元削減
演習の手順
- テストサイズを 25% に設定して、75%-25% の train-test 分割を行ってください。
- ランダムフォレスト分類器を学習データに適合させてください。
- テストセットでの精度を計算してください。
- 各特徴量ごとの重要度を出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Perform a 75% training and 25% test data split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=____, random_state=0)
# Fit the random forest model to the training data
rf = RandomForestClassifier(random_state=0)
rf.____(____, ____)
# Calculate the accuracy
acc = accuracy_score(____, ____)
# Print the importances per feature
print(dict(zip(X.columns, rf.____.round(2))))
# Print accuracy
print(f"{acc:.1%} accuracy on test set.")