Spark MLLib如何在训练分类器时忽略功能

时间:2015-06-09 17:49:12

标签: apache-spark machine-learning apache-spark-mllib

我想在RDD [LabeledPoint]上使用每个LabeledPoint中的一部分功能来训练分类器(两者都是为了快速调整模型,并在每个LabeledPoint中包含项目,例如ID或不是评估指标特征)。我搜索了文档,但无法找到指定应包含或忽略哪些列的方法。代码如下,我使用Spark和MLLib 1.3.1,Scala 2.10.4。

如果无法进行特定功能排除,则在训练期间包含每个数据点的ID都会有所帮助。任何帮助表示赞赏!

val numClasses = 2
val categoricalFeaturesInfo = Map[Int, Int](5 -> 2)
val numTrees = 100
val featureSubsetStrategy = "auto"
val impurity = "gini"
val maxDepth = 6
val maxBins = 20
val model = RandomForest.trainClassifier(trainingData, numClasses, categoricalFeaturesInfo, numTrees, featureSubsetStrategy, impurity, maxDepth, maxBins)

1 个答案:

答案 0 :(得分:0)

您是否要在构建模型之前选择一个要素子集,或者您希望在迭代之间使用RandomForest分类器的某些自定义策略?

如果是第一种情况 - 您可以在构建模型之前使用地图转换转换trainingData。

有关功能选择的示例,请参阅MLlib - Feature Extraction and Transformation中的功能选择部分。