在 Spark 中将 CategoricalFeaturesInfo 与 DecisionTreeClassifier 方法结合使用

Using CategoricalFeaturesInfo with DecisionTreeClassifier method in Spark

我必须使用这个代码:

val dt = new DecisionTreeClassifier().setLabelCol("indexedLabel").setFeaturesCol("indexedFeatures").setImpurity(impurity).setMaxBins(maxBins).setMaxDepth(maxDepth);

我需要添加分类特征信息,以便决策树不会将 indexedCategoricalFeatures 视为数字。我有这张地图:

val categoricalFeaturesInfo = Map(143 -> 126, 144 -> 5, 145 -> 216, 146 -> 100, 147 -> 14, 148 -> 8, 149 -> 19, 150 -> 7);

但是它只适用于 DecisionTree.trainClassifier 方法。我不能使用这种方法,因为它接受的参数与我的参数不同......我真的希望能够使用 DecisionTreeClassifier 并正确处理分类特征。

感谢您的帮助!

您混合使用两种不同的 API,它们对分类数据采用不同的方法:

  • RDD 基于 o.a.s.mllib 通过传递 categoricalFeaturesInfo 地图提供所需的元数据。
  • Dataset (DataFrame) o.a.s.ml 使用列元数据来确定变量类型。如果您正确使用 ML 转换器来创建功能,这应该会自动为您处理,否则您将不得不 .