Я пытаюсь построить кривую ROC для дерева решений. Но при вычислении матрицы неточностей вычисление каждого порога занимает слишком много времени. Итак, есть ли лучший способ вычислить матрицу.
Вопрос
Кривая ROC для дерева решений
Ответы
Ответ 1 · Michael Fu
в вашем методе confusion_matrix вы можете кэшировать прогнозы для оптимизации производительности
def confusion_matrix(predictions):
# Calculate the elements of the confusion matrix
predictions.cache()
TN = predictions.filter('prediction = 0 AND label = 0').count()
TP = predictions.filter('prediction = 1 AND label = 1').count()
FN = predictions.filter('prediction = 0 AND label = 1').count()
FP = predictions.filter('prediction = 1 AND label = 0').count()
predictions.unpersist()
return TP,TN,FP,FN
Удачи!
Ответ 2 · рейтинг -1 · Hugo Guillen
Я предлагаю вам использовать реализацию scikit-learn, вам просто нужно предоставить массив с истинными значениями, а другой с прогнозами: sklearn.metrics.roc_curve
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.
Похожие материалы
- [Изучение Python: от нуля к единице] - Объектно-ориентированное программирование - Класс и экземпляр (11)
- Как исправить AttributeError: объект "OptionEngine" не имеет атрибута "выполнить" в Pandas
- Решение дилеммы данных: эффективная загрузка данных CSV в базу данных SQL
- Полезность регулярных выражений в науке о данных
- LLMOps, GenerativeOps или AgentOps?
- Работа с вероятностными циклами, часть 1 (машинное обучение)