У меня возникли некоторые проблемы с пониманием проверки искры. Любой пример, который я видел, использует его для настройки параметров, но я предполагал, что он также будет выполнять обычную перекрестную проверку в K-кратном размере?
Что я хочу сделать, так это выполнить перекрестную проверку в k-кратном порядке, где k = 5. Я хочу получить точность для каждого результата, а затем получить среднюю точность. В scikit выучите, как это будет сделано, где результаты будут давать вам результат для каждого фолда, а затем вы можете использовать scores.mean()
scores = cross_val_score(classifier, y, x, cv=5, scoring='accuracy')
Вот как я делаю это в Spark, paramGridBuilder пуст, так как я не хочу вводить какие-либо параметры.
val paramGrid = new ParamGridBuilder().build()
val evaluator = new MulticlassClassificationEvaluator()
evaluator.setLabelCol("label")
evaluator.setPredictionCol("prediction")
evaluator.setMetricName("precision")
val crossval = new CrossValidator()
crossval.setEstimator(classifier)
crossval.setEvaluator(evaluator)
crossval.setEstimatorParamMaps(paramGrid)
crossval.setNumFolds(5)
val modelCV = crossval.fit(df4)
val chk = modelCV.avgMetrics
Делает ли это то же самое, что и реализация Scikit Learn? Почему в примерах используются данные обучения/тестирования при перекрестной проверке?