Метрики классификатора случайных лесов rdd

#apache-spark-mllib

#apache-spark-mllib

Вопрос:

Поиск метрик классификатора случайных лесов, таких как ROC, кривая точного отзыва, точность, отзыв, оценка F1 на основе фрейма данных с использованием pyspark. Я мог бы получить те же показатели для объекта RDD.Может кто-нибудь, пожалуйста, помогите.

Ответ №1:

Если я правильно понял, вы хотите вычислить метрики ML, но на фреймах данных Spark? Вы могли бы просто преобразовать конечный фрейм данных в rdd и использовать существующие метрические функции для rdd. Например:

  from pyspark.mllib.evaluation import BinaryClassificationMetrics

 predictions = model.transform(some_data_in_dataframe)
 labels_and_predictions = predictions.select("prediction","true_label").rdd

 metrics = BinaryClassificationMetrics(labels_and_predictions)
 print((metrics.areaUnderPR * 100))
 print((metrics.areaUnderROC * 100))
  

Комментарии:

1. Спасибо за ваш ответ! Вы правы! Я хочу, чтобы метрики ML основывались на фреймах данных. Ниже приведены несколько метрик, которые мы можем вычислить на основе RDD. Я хотел бы знать, как мы можем добиться того же из dataframe. # Общая статистика точность = метрики.точность () отзыв = метрики.отзыв() f1Score = метрики. FME measure() print(«Сводная статистика») print(«Точность = % s» % точность) print(«Отзыв = % s» % отзыв) print («Оценка F1 = %s» % f1Score)

2. Может кто-нибудь, пожалуйста, посоветовать ниже?

3. привет, Сельва, как было сказано выше, вам не нужны метрики для фрейма данных. После того, как вы приведете свои данные в нужное состояние в dataframe, вы просто преобразуете их в RDD и вычисляете то, что вам нужно. код, который я вставил вам в свой ответ, делает именно это с «.rdd»

4. Спасибо, Зултар! Теперь я понимаю, что мы не можем вычислять метрики непосредственно из фрейма данных, скорее нужно преобразовать фрейм данных в RDD перед вычислением показателей.