Как получить Точность, Отзыв, Точность и F1 для Бинарного Класса - PullRequest
0 голосов
/ 16 апреля 2019

Я строю модель машинного обучения с использованием библиотеки ML Apache Spark и, скажем, RandomForestClassifier.

Я делю набор данных на обучение и проверяю, как показано ниже

(tr,test) = dataframe.randomSplit([0.8,0.2]), seed = 23)

применить модель

rf = RandomForestClassifier(numTrees=10,featuresCol = "features", 
labelCol = "label")

model= rf.fit(tr)

prediction = model.transform(test)

eval = BinaryClassificationEvaluator(rawPredictionCol="rawPrediction")

eval.evaluate(prediction)

У меня сложилось впечатление, что это дает мне AUC, который не является точностью.Как я могу получить Точность, Напоминание, F1 и точность для этой модели?

Моя переменная класса является двоичной (0 или 1).

1 Ответ

0 голосов
/ 02 мая 2019

AUC - площадь под кривой ROC.Ничего общего с точностью, но более полезная метрика по моему мнению.Дает намного лучший обзор возможностей вашей модели.Все метрики, которые вам нужны, находятся здесь: https://spark.apache.org/docs/latest/mllib-evaluation-metrics.html#binary-classification Обратите внимание, что все метрики рассчитаны для одной метки (зависит от того, являются ли ваши истинные положительные значения 0 или 1).Если у вас есть дисбаланс классов и вы рассчитываете свои метрики для основного класса (скажем, 1), то ваши результаты могут вводить в заблуждение.Поэтому используйте метку, которая важнее для вашей модели, чтобы правильно классифицировать.Пожалуйста, внимательно прочитайте документацию, прежде чем использовать метрики, чтобы полностью понять, о чем они.Приветствия.

...