【问题标题】:k-fold cross validation to tune regressive tree model using pyspark使用 pyspark 调整回归树模型的 k 折交叉验证
【发布时间】:2020-02-02 06:48:01
【问题描述】:

我正在尝试使用 k 折交叉验证来调整 pyspark 中生成的回归树。但是,从我目前所见,将 pyspark 的 CrossValidator 与 pyspark 的 DecisionTree.trainRegressor 结合起来是不可能的。这是相关代码。

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

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

然后如何将 k 折交叉验证应用于回归器?

【问题讨论】:

    标签: pyspark decision-tree k-fold


    【解决方案1】:

    你可以试试这个:

    (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)
    

    【讨论】:

      猜你喜欢
      • 2020-12-01
      • 2018-12-17
      • 2021-01-25
      • 2016-02-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      相关资源
      最近更新 更多