【发布时间】:2015-05-12 09:05:52
【问题描述】:
我正在尝试提取我使用 PySpark 训练的随机森林对象的特征重要性。但是,我在文档中的任何地方都没有看到这样做的示例,也不是 RandomForestModel 的方法。
如何从 PySpark 中的 RandomForestModel 回归器或分类器中提取特征重要性?
这是文档中提供的示例代码,可帮助我们入门;但是,其中没有提及特征重要性。
from pyspark.mllib.tree import RandomForest
from pyspark.mllib.util import MLUtils
# Load and parse the data file into an RDD of LabeledPoint.
data = MLUtils.loadLibSVMFile(sc, 'data/mllib/sample_libsvm_data.txt')
# Split the data into training and test sets (30% held out for testing)
(trainingData, testData) = data.randomSplit([0.7, 0.3])
# Train a RandomForest model.
# Empty categoricalFeaturesInfo indicates all features are continuous.
# Note: Use larger numTrees in practice.
# Setting featureSubsetStrategy="auto" lets the algorithm choose.
model = RandomForest.trainClassifier(trainingData, numClasses=2, categoricalFeaturesInfo={},
numTrees=3, featureSubsetStrategy="auto",
impurity='gini', maxDepth=4, maxBins=32)
我没有看到可用的model.__featureImportances_ 属性——我在哪里可以找到这个?
【问题讨论】:
-
有人对这个问题有更新吗?现在有没有实现 model.__featureImportances_ 的 PySpark 实现?
-
@PabloO 我已经发布了更新的答案
标签: apache-spark pyspark random-forest apache-spark-mllib