如何提取基於樹的Apache SparkML管道模型的功能信息
當您安裝基於樹的模型(例如決策樹,隨機森林或梯度增強樹)時,能夠查看功能重要性級別以及功能名稱,這是有幫助的。通常,SparkML中的模型是管道的最後階段。要使用樹模型從管道中提取相關特征信息,必須提取正確的管道階段。您可以從VectorAssembler
目的:
從pyspark.ml.feature進口StringIndexer,,,,VectorAssembler從pyspark.ml。分類進口決策者分類器從pyspark.ml進口管道管道=管道((階段=[[索引器,,,,彙編器,,,,決策樹)dtmodel=管道。合身((火車)VA=dtmodel。階段[[-2這是給予的樹=dtmodel。階段[[-1這是給予的展示((樹)#Visalize決策樹模型打印((樹。Todebugstring)#打印決策樹模型的節點列表((壓縮((VA。GetInputCols(),,樹。功能率))
您還可以在管道的最後階段使用交叉驗證器調整基於樹的模型。要可視化決策樹並打印特征重要性級別,請提取BestModel
來自交叉Validator
目的:
從pyspark.ml.tuning進口paramgridbuilder,,,,交叉Validator簡曆=交叉Validator((估計器=決策樹,,,,估計paramaps=paramgrid,,,,評估者=評估者,,,,數字=3)管道=管道((階段=[[索引器,,,,彙編器,,,,簡曆)dtmodelcv=管道。合身((火車)VA=dtmodelcv。階段[[-2這是給予的treecv=dtmodelcv。階段[[-1這是給予的。BestModel展示((treecv)#Visalize最佳決策樹模型打印((treecv。Todebugstring)#打印決策樹模型的節點列表((壓縮((VA。GetInputCols(),,treecv。功能率))
這展示
功能僅可視化決策樹模型。看機器學習可視化。