Оценка дерева решений
Качество модели можно оценить по тому, насколько хорошо она справляется с тестовыми данными. Поскольку модель не обучалась на этих данных, такая оценка является объективной.
Матрица ошибок наглядно показывает соотношение предсказанных и реальных значений. Она состоит из четырёх ячеек, содержащих количество:
- Истинно отрицательных (TN) — модель предсказала отрицательный исход, и реальный исход отрицательный
- Истинно положительных (TP) — модель предсказала положительный исход, и реальный исход положительный
- Ложно отрицательных (FN) — модель предсказала отрицательный исход, но реальный исход положительный
- Ложно положительных (FP) — модель предсказала положительный исход, но реальный исход отрицательный.
Сумма этих значений (TN, TP, FN и FP) должна равняться числу записей в тестовых данных, которые представляют собой лишь подмножество данных о рейсах. Для сравнения можно использовать flights_test.count().
Примечание: Предсказания строятся на тестовых данных, поэтому значения в ячейках будут меньше, чем при предсказании на обучающих данных.
Это упражнение является частью курса
Машинное обучение с PySpark
Инструкции к упражнению
- Постройте матрицу ошибок, подсчитав все комбинации значений
labelиprediction. Отобразите результат. - Подсчитайте количество истинно отрицательных, истинно положительных, ложно отрицательных и ложно положительных предсказаний.
- Вычислите точность модели.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)