Pyspark: оценка в перекрестной проверке на основе определенной пользователем метрики - PullRequest
0 голосов
/ 03 мая 2018

Я новичок в Искре. Я установил PySpark 2.3.0 на Windows. Я работаю над набором данных, который содержит 3 класса: «Положительный», «Отрицательный», «Нейтральный».

Я хочу применить перекрестную проверку с использованием LinearSVC, но для оценки я хочу использовать средний балл F1 для двух классов: «положительный» и «отрицательный» только для оценки каждой модели.

В следующем коде:

Я думаю, что, выбрав «metricName» в качестве «f1» в «MulticlassClassificationEvaluator», лучшие параметры будут выбраны на основе среднего значения F1 для трех классов. Но, как я уже говорил, я хочу выбор должен быть основан на средней оценке только 2 классов.

from pyspark.ml.tuning import CrossValidator, ParamGridBuilder
from pyspark.ml.classification import LinearSVC
from pyspark.ml.evaluation import MulticlassClassificationEvaluator

LSVC = LinearSVC()
paramGrid = ParamGridBuilder().addGrid(LSVC.maxIter, [10, 100, 1000]).addGrid(LSVC.regParam, [0.01,0.1,10.0,100.0]).build()
crossval = CrossValidator(estimator=LSVC,
                      #estimator=pipeline,
                      estimatorParamMaps=paramGrid,
                      evaluator=MulticlassClassificationEvaluator(metricName="f1"),
                      numFolds=2)
...