始める無料で始める

決定木

この演習では、scikit-learn に同梱されている breast cancer データセットに対して、scikit-learn の DecisionTreeClassifier を用いてシンプルな決定木を作成します。

このデータセットには、乳房生検から得られた各腫瘍のさまざまな寸法(周長やテクスチャなど)の数値測定値と、単一の目的変数(腫瘍が悪性か良性か)が含まれます。

サンプル(測定値)のデータセットは X に、腫瘍ごとの目的値は y にあらかじめ読み込んであります。ここでは、まず完全なデータセットを学習用とテスト用に分割し、その後 DecisionTreeClassifier を学習させます。max_depth というパラメータを指定してください。このモデルでは他にも多くのパラメータを変更できます。すべての一覧は こちら を参照してください。

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

XGBoost で学ぶ極限の勾配ブースティング

コースを見る

演習の手順

  • 次をインポートします:
    • sklearn.model_selection から train_test_split
    • sklearn.tree から DecisionTreeClassifier
  • データの 20% をテスト用に使うように学習用・テスト用集合を作成します。random_state123 を使用してください。
  • max_depth4 として、dt_clf_4 という名前の DecisionTreeClassifier をインスタンス化します。このパラメータは、葉ノードに到達するまでに許される連続した分割の最大回数を指定します。
  • 分類器を学習用データに当てはめ、テストセットのラベルを予測します。

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

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

# Import the necessary modules
____
____

# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, test_size=____, random_state=____)

# Instantiate the classifier: dt_clf_4
dt_clf_4 = ____

# Fit the classifier to the training set
____

# Predict the labels of the test set: y_pred_4
y_pred_4 = ____

# Compute the accuracy of the predictions: accuracy
accuracy = float(np.sum(y_pred_4==y_test))/y_test.shape[0]
print("accuracy:", accuracy)
コードを編集して実行