Как рассчитать RoC и AUC для классификационного прогона в SparkR - PullRequest
0 голосов
/ 19 июня 2019

Я начинаю работать со Spark, в частности с sparkR версии 2.3.2, использующей Apache Zeppelin и интерпретатор livy2 для него.Сейчас мы застряли с этой конфигурацией из-за корпоративных политик безопасности и ИТ.Я приспособил логистическую регрессию и другие алгоритмы классификации к своим данным.Я могу относительно просто вычислить матрицу путаницы и основанную на этом статистику, например, общую точность или чувствительность.Однако я хочу вычислить RoC и AUC, и хотя эти статистические данные встроены в результаты модели в реализациях Scala и pySpark, они не встроены в реализацию SparkR.Что еще хуже, я не смог найти способ просто рассчитать кумулятивную сумму выполнения на Spark DataFrame (DF) в sparkR, из которой я мог бы построить RoC вручную.

Я мог бы преобразовать SparkDF для фрейма данных R (df), но это будет работать только в этом небольшом подмножестве, которое я использую для обучения.Полные данные исчерпают память, поэтому мы используем Spark.

Хотя может быть способ создать временное представление фрейма данных Spark и вызвать SQL с какой-либо версией функции Window вуникальные идентификаторы для создания промежуточной суммы, а затем импортирования ее обратно в Spark DF, этот путь кажется очень запутанным и может не работать для всех, что я знаю.

Как я могу, если возможно, легко принять результатыприменение predict к модели классификации SparkR в DataFrame (например, spark.logit или spark.decisionTree) в SparkR и вычисление RoC и AUC, или я смирился с тем, чтобы узнать, как это сделать в Scala или pySpark?Спасибо.

...