pyspark.ml随机森林模型要素重要性结果是否为空?

pyspark.ml随机森林模型要素重要性结果是否为空?,pyspark,apache-spark-ml,Pyspark,Apache Spark Ml,我正在pyspark.ml中训练RandomForestClassifier,当试图通过估计器的featureImportances属性获取训练模型的特征重要性时,我在返回的元组中没有看到特征指数或重要性权重: (37,[],[]) 我期待着像 (37,[<feature indices>],[<feature importance weights>]) (<size>, <list of non-zero indices>, <list

我正在
pyspark.ml
中训练
RandomForestClassifier
,当试图通过估计器的
featureImportances
属性获取训练模型的特征重要性时,我在返回的元组中没有看到特征指数或重要性权重:

(37,[],[])
我期待着像

(37,[<feature indices>],[<feature importance weights>])
(<size>, <list of non-zero indices>, <list of non-zero values associated with the indices>)
(37,[],[])
…(当然没有,只是完全空白)。这是奇怪的b/c它似乎认识到有37个功能,但在其他列表中没有任何信息。中的任何内容似乎都无法解决这一问题


这里会发生什么?

TLDR:稀疏向量通常以特定的方式表示。如果稀疏向量打印为空,则可能意味着稀疏向量中的所有值都为零

检查/打印变压器的
功能重要性
属性的
类型
,我们可以看到它是一个。在大多数情况下,当打印稀疏向量时,您会看到类似于

(37,[<feature indices>],[<feature importance weights>])
(<size>, <list of non-zero indices>, <list of non-zero values associated with the indices>)

因此,如果你得到一个稀疏向量,如
(,[],[])
,用于你的
功能重要性(我很确定),这意味着估计器没有发现你的任何功能特别重要(即,遗憾的是,你/我选择的功能不是很好(至少从估计器的POV来看),需要进行更多的数据分析).

供参考的相关问题:,