K-кратная перекрестная проверка для настройки модели регрессивного дерева с использованием pyspark - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь использовать k-кратную перекрестную проверку для настройки регрессивного дерева, сгенерированного в pyspark. Однако из того, что я видел до сих пор, невозможно объединить CrossValidator pyspark с DecisionTree.trainRegressor pyspark. Вот соответствующий код.

    (trainingData, testData) = data.randomSplit([0.7, 0.3])

    model = DecisionTree.trainRegressor(trainingData, categoricalFeaturesInfo={}, impurity='variance', maxDepth=5, maxBins=32)

Как тогда применить к-кратную перекрестную проверку к регрессору?

1 Ответ

1 голос
/ 04 октября 2019

Вы можете попробовать это:

(trainingData, testData) = data.randomSplit([0.7, 0.3])

model = DecisionTree.trainRegressor(trainingData, categoricalFeaturesInfo={}, impurity='variance', numClasses=2)

paramGrid = ParamGridBuilder() \
    .addGrid(model.maxDepth, [4, 5, 6, 7]) \
    .addGrid(model.maxBins, [24, 28, 32, 36]) \
    .build()

crossval = CrossValidator(estimator=model,
                          estimatorParamMaps=paramGrid,
                          evaluator=BinaryClassificationEvaluator(),
                          numFolds=3)  

# Run cross-validation, and choose the best set of parameters.
cvModel = crossval.fit(training)
...