Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Кривая ROC для дерева решений

Автор вопроса: Emma VazeОтветов: 2

Я пытаюсь построить кривую ROC для дерева решений. Но при вычислении матрицы неточностей вычисление каждого порога занимает слишком много времени. Итак, есть ли лучший способ вычислить матрицу.

pythonmachine-learningpysparkconfusion-matrixroc

Ответы

Ответ 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.

Похожие материалы