시작하기무료로 시작하기

Decision Tree 평가하기

테스트 데이터에 대한 모델의 성능을 평가하면 모델의 품질을 객관적으로 확인할 수 있습니다. 모델은 이 데이터로 학습하지 않았기 때문에, 이는 모델에 대한 공정한 평가가 됩니다.

혼동 행렬(confusion matrix)은 예측값과 실제값을 비교하는 데 유용한 표입니다. 다음 네 가지 항목의 개수를 나타냅니다:

  • True Negatives (TN) — 모델이 음성으로 예측하고 실제도 음성인 경우
  • True Positives (TP) — 모델이 양성으로 예측하고 실제도 양성인 경우
  • False Negatives (FN) — 모델이 음성으로 예측했지만 실제는 양성인 경우
  • False Positives (FP) — 모델이 양성으로 예측했지만 실제는 음성인 경우

이 네 값(TN, TP, FN, FP)의 합은 테스트 데이터의 레코드 수와 같아야 합니다. 테스트 데이터는 전체 항공편 데이터의 일부로, flights_test.count()로 레코드 수를 확인할 수 있습니다.

참고: 이 예측은 테스트 데이터를 기반으로 하므로, 학습 데이터에 대한 예측보다 개수가 적습니다.

이 연습은 강의의 일부입니다

PySpark로 하는 Machine Learning

강의 보기

연습 안내

  • 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)
코드 편집 및 실행