現在我在python sklearn中培養了一個名爲'GB'的gbdt模型。我想將這個訓練好的模型導出到pmml文件中。但我遇到了這個問題: 1.如果我嘗試將訓練好的'GB'模型放入PMMLpipeline中並使用sklearn2pmml導出模型。如下所示:如何在使用sklearn2pmml時獲取feature_importance
GB = GradientBoostingClassifier(n_estimators=100,learning_rate=0.05)
GB.fit(train[list(x_features),Train['Target']])
GB_pipeline = PMMLPipeline([("classifier",GB)])
sklearn2pmml.sklearn2pmml(GB_pipeline,pmml='GB.pmml')
importance=gb.feature_importances_
存在警告'未設置'active_fields'屬性'。並且我將在導出的pmml文件中丟失所有功能的名稱。
如果我嘗試直接在PMMLPipeline中訓練模型。由於GB_pipeline中沒有feature_importances_屬性,因此我無法觀察此模型的features_importance。象下面這樣:
GB_pipeline = PMMLPipeline([( 「分類器」,GradientBoostingClassifier(n_estimators = 100,learning_rate = 0.05))]) PMMLPipeline.fit(火車[列表(x_features),列車[ '目標']]) sklearn2pmml.sklearn2pmml(GB_pipeline,PMML =「GB.pmml」)
我怎麼辦,我既可以觀察模型的features_importance,並保持功能的名稱在導出的PMML文件。 非常感謝!
它的工作原理!!!!!!!!!!!!!!謝謝。我認爲根源是因爲我不明白管道是什麼。非常感謝你 ! – Noah
因此,請將我的答案標記爲接受完成此主題 – user1808924