始める無料で始める

クラスの不均衡を解消する

recallaccuracy のスコア差からも分かるように、クラスの不均衡は予測結果に大きく影響します。これを解決する一般的な方法は、各クラスに同じ重みを与えることです。sklearnDecisionTreeClassifier では、class_weight 引数を使ってクラスを "balanced" にできます。

それでは、不均衡の問題を解消してモデルを改善しましょう。

  • まず、クラス重みをバランスさせたモデルを設定します
  • 次に、学習データにフィットさせます
  • 最後に、テストデータで精度を確認します

features_traintarget_trainfeatures_testtarget_test はすでにワークスペースに用意されています。

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

HRアナリティクス:Pythonで従業員離職を予測する

コースを見る

演習の手順

  • 決定木分類器を初期化し、最大深さを 5 に制限して木を枝刈りし、クラス重みをバランスさせます。
  • 新しいモデルをフィットします。
  • テストデータに対する予測の精度 score を(パーセンテージで)表示します。

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

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

# Initialize the DecisionTreeClassifier 
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)

# Fit the model
model_depth_5_b.____(features_train,target_train)

# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)
コードを編集して実行