【发布时间】:2016-07-20 18:16:10
【问题描述】:
我构建了一个管道,包括这样的 DecisionTreeClassifier(dt)
val pipeline = new Pipeline().setStages(Array(labelIndexer, featureIndexer, dt, labelConverter))
然后我将此管道用作 CrossValidator 中的估计器,以便获得具有最佳超参数集的模型
val c_v = new CrossValidator().setEstimator(pipeline).setEvaluator(new MulticlassClassificationEvaluator().setLabelCol("indexedLabel").setPredictionCol("prediction")).setEstimatorParamMaps(paramGrid).setNumFolds(5)
最后,我可以使用这个交叉验证器在训练测试中训练模型
val model = c_v.fit(train)
但问题是,我想查看带有.toDebugTree 的参数DecisionTreeClassificationModel 的最佳训练决策树模型。但型号是CrossValidatorModel。是的,您可以使用model.bestModel,但它仍然是Model 类型,您不能对其应用.toDebugTree。而且我还假设 bestModel 仍然是一个管道,包括labelIndexer、featureIndexer、dt、labelConverter。
那么有谁知道我如何从crossvalidator 拟合的模型中获取decisionTree 模型,我可以通过toDebugString 查看实际模型吗?或者有什么解决方法可以让我查看决策树模型?
【问题讨论】:
标签: scala apache-spark machine-learning decision-tree cross-validation