如何提取特征信息基於樹的Apache SparkML管道模型

基於樹的學習如何提取特征信息 在磚毫升管道模型。

寫的亞當Pavlacka

去年發表在:2022年5月16日

當你安裝一個基於樹模型,如決策樹,隨機森林,或梯度提高了樹,是很有幫助的,可以複習功能重要性水平隨著功能的名字。通常模型在SparkML符合管道的最後階段。從管道中提取相關特征信息樹模型,您必須提取正確的管道階段。你可以提取特征的名稱VectorAssembler對象:

%從pyspark.ml python。功能導入StringIndexer, VectorAssembler pyspark.ml。分類從pyspark進口DecisionTreeClassifier。毫升進口管道管道=管道(階段=[索引器、彙編、decision_tree) DTmodel = pipeline.fit va = DTmodel(火車)。階段[2]= DTmodel樹。階段[1]顯示(樹)#可視化決策樹模型打印(tree.toDebugString) #打印決策樹模型的節點列表(zip (va.getInputCols (), tree.featureImportances))

您還可以使用交叉驗證器優化基於樹模型在最後階段的管道。可視化決策樹並打印功能重要性水平,你提取bestModelCrossValidator對象:

%從pyspark.ml python。優化進口ParamGridBuilder CrossValidator簡曆= CrossValidator(估計量= decision_tree estimatorParamMaps = paramGrid,評估者=評估者,numFolds = 3) pipelineCV =管道(階段=[索引器、彙編、cv) DTmodelCV = pipelineCV.fit va = DTmodelCV(火車)。階段[2]treeCV = DTmodelCV.stages [1]。bestModeldisplay(treeCV) #visualize the best decision tree model print(treeCV.toDebugString) #print the nodes of the decision tree model list(zip(va.getInputCols(), treeCV.featureImportances))

隻顯示函數可視化決策樹模型。看到機器學習可視化(AWS|Azure|GCP)。