始める無料で始める

正則化

正則化は、過学習を防ぐためにモデルへ情報を追加する手法です。これは、本章の前半で見た評価指標を向上させるうえで重要です。この演習では、決定木の最大深さパラメータを変化させ、分類結果がどのように変わるかを確認します。

X_trainy_trainX_testy_test はワークスペースに用意されています。pandaspdnumpynp、そして sklearn も利用できます。さらに、sklearn.metricsconfusion_matrix()precision_score()recall_score() も利用可能です。

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

PythonでMachine Learningを使ってCTRを予測する

コースを見る

演習の手順

  • 各木の最大深さを変えて、複数の決定木を作成します。
  • それぞれの木について、学習を行い、テストデータで予測を生成します。
  • 各木の混同行列、適合率(precision)、再現率(recall)を評価します。

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

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

# Iterate over different levels of max depth
for max_depth_val in [2, 3, 5, 10, 15, 20]:
  # Create and fit model
  clf = ____(____ = max_depth_val)
  print("Evaluating tree with max_depth = %s" %(max_depth_val))
  y_pred = clf.fit(____, ____).predict(____) 
  
  # Evaluate confusion matrix, precision, recall
  print("Confusion matrix: ")
  print(____(y_test, y_pred))
  prec = ____(____, ____, average = 'weighted')
  recall = ____(____, ____, average = 'weighted')
  print("Precision: %s, Recall: %s" %(prec, recall))
コードを編集して実行