如何找到决策树分类的特征名称?

k4aesqcs  于 2021-05-17  发布在  Spark
关注(0)|答案(1)|浏览(462)

我正在尝试查找决策树的特征信息。更具体地说,如果183出现在我的树可视化中,我想知道它是什么特性。我尝试了dtmodel.getinputcol(),但收到以下错误。 AttributeError: 'DecisionTreeClassificationModel' object has no attribute 'getInputCol' 这是我当前的代码:

from pyspark.ml.classification import DecisionTreeClassifier

# Create initial Decision Tree Model

dt = DecisionTreeClassifier(labelCol="label", featuresCol="features", maxDepth=3)

# Train model with Training Data

dtModel = dt.fit(trainingData)
display(dtModel)

如果你能帮忙或需要更多的信息,请告诉我。谢谢您。

smdnsysy

smdnsysy1#

请看这个来自spark doc的示例(我尝试使名称与您的代码保持一致,尤其是 featuresCol="features" ).
我假设您有这样的代码(在问题中发布的代码之前):

featureIndexer = VectorIndexer(inputCol="inputFeatures", outputCol="features", maxCategories=4).fit(data)

在这一步之后,您就有了 "features" 作为索引特征,然后将 DecisionTreeClassifier (如您发布的代码):


# Train a DecisionTree model.

dt = DecisionTreeClassifier(labelCol="indexedLabel", featuresCol="features")

你要找的是 inputFeatures 上面,这是被索引之前的原始特征。如果要打印,只需执行以下操作:

sc.parallelize(inputFeatures, 1).saveAsTextFile("absolute_path")

相关问题