Есть ли способ вывести все результаты перекрестной проверки в искровую скалу? - PullRequest
0 голосов
/ 25 сентября 2018

Я использую перекрестную проверку для выбора модели и параметров в Spark.Из-за необходимости применения мне нужно знать не только лучшую модель, но и результаты для всех моделей.Когда я работал с python sklearn, я мог использовать

clf = GridSearchCV()
clf.cv_results_ 

, чтобы распечатать все модели, что-то вроде следующего: Оценка по сетке на наборе для разработки:

0.986 (+/-0.016) for {'C': 1, 'gamma': 0.001, 'kernel': 'rbf'}
0.959 (+/-0.029) for {'C': 1, 'gamma': 0.0001, 'kernel': 'rbf'}
0.988 (+/-0.017) for {'C': 10, 'gamma': 0.001, 'kernel': 'rbf'}
0.982 (+/-0.026) for {'C': 10, 'gamma': 0.0001, 'kernel': 'rbf'}
0.988 (+/-0.017) for {'C': 100, 'gamma': 0.001, 'kernel': 'rbf'}
0.982 (+/-0.025) for {'C': 100, 'gamma': 0.0001, 'kernel': 'rbf'}
0.988 (+/-0.017) for {'C': 1000, 'gamma': 0.001, 'kernel': 'rbf'}
0.982 (+/-0.025) for {'C': 1000, 'gamma': 0.0001, 'kernel': 'rbf'}
0.975 (+/-0.014) for {'C': 1, 'kernel': 'linear'}
0.975 (+/-0.014) for {'C': 10, 'kernel': 'linear'}
0.975 (+/-0.014) for {'C': 100, 'kernel': 'linear'}
0.975 (+/-0.014) for {'C': 1000, 'kernel': 'linear'}

В spark Iесть

val cv = new CrossValidator()
  .setEstimator(pipeline)
  .setEvaluator(new MulticlassClassificationEvaluator)
  .setEstimatorParamMaps(paramLRGrid)
  .setNumFolds(3)
val cvModel = cv.fit(trainingData)

Мне интересно, есть ли в искре способ, аналогичный clf.cv_results_, чтобы я мог видеть все модели

1 Ответ

0 голосов
/ 01 января 2019

это должно помочь:

cvModel.subModels

как описано здесь: Spark CrossValidatorModel обеспечивает доступ к другим моделям, кроме bestModel?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...