開始使用免費開始

評估 Decision Tree

你可以透過評估模型在測試資料上的表現來判斷模型品質。因為模型並未用這些資料進行訓練,這能提供對模型的客觀評估。

「混淆矩陣」能清楚呈現預測值與真實值的對照。它有四個格子,各自代表以下計數:

  • True Negatives(TN)— 模型預測為負向結果,且真實結果也是負向
  • True Positives(TP)— 模型預測為正向結果,且真實結果也是正向
  • False Negatives(FN)— 模型預測為負向結果,但真實結果是正向
  • False Positives(FP)— 模型預測為正向結果,但真實結果是負向。

這些計數(TNTPFNFP)的總和應等於測試資料中的紀錄數。測試資料只是 flights 資料的一個子集。你可以和測試資料的紀錄數 flights_test.count() 作比較。

注意:這些預測是針對「測試」資料產生的,所以計數會比對「訓練」資料做預測時來得小。

本練習屬於課程

使用 PySpark 的機器學習

檢視課程

練習說明

  • 透過計數 labelprediction 的組合來建立混淆矩陣。顯示結果。
  • 分別計算 True Negatives、True Positives、False Negatives、False Positives 的數量。
  • 計算準確率。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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)
編輯並執行程式碼