始める無料で始める

決定木の評価

テストデータに対するモデルの性能を評価することで、モデルの品質を確認できます。テストデータはモデルの学習に使用していないため、客観的な評価が可能です。

混同行列(Confusion Matrix)は、予測値と実際の値の対応を分かりやすく整理したものです。以下の4つのセルで構成されます。

  • 真陰性(TN)— モデルが陰性と予測し、実際の結果も陰性
  • 真陽性(TP)— モデルが陽性と予測し、実際の結果も陽性
  • 偽陰性(FN)— モデルが陰性と予測したが、実際の結果は陽性
  • 偽陽性(FP)— モデルが陽性と予測したが、実際の結果は陰性

これらの件数(TNTPFNFP)の合計は、テストデータのレコード数と一致します。なお、テストデータはフライトデータ全体の一部です。テストデータのレコード数は flights_test.count() で確認できます。

注意: これらの予測は テスト データに対して行われるため、件数は学習データに対する予測と比べて少なくなります。

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

Machine Learning with PySpark

コースを見る

演習の手順

  • labelprediction の組み合わせを集計して混同行列を作成し、結果を表示しましょう。
  • 真陰性(TN)、真陽性(TP)、偽陰性(FN)、偽陽性(FP)のそれぞれの件数を求めましょう。
  • 正解率を計算しましょう。

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

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

# Create a confusion matrix
prediction.groupBy(____, 'prediction').____().____()

# Calculate the elements of the confusion matrix
TN = prediction.filter('prediction = 0 AND label = prediction').count()
TP = prediction.____('____ AND ____').____()
FN = prediction.____('____ AND ____').____()
FP = prediction.____('____ AND ____').____()

# Accuracy measures the proportion of correct predictions
accuracy = ____
print(accuracy)
コードを編集して実行