如何解决如何从管道中获取功能重要性并更改类型?
我正在尝试比较xgboost和光梯度增强功能的重要性,但是两者都有不同的评估标准。因此,我尝试更改功能重要性类型,并查看如何执行此操作。例如
pipeline = make_pipeline(XGBClassifier())
param_grid = {
'xgbclassifier__learning_rate': [0.01,0.005,0.001],}
gini_scorer = make_scorer(normalized_gini,greater_is_better = True)
# Initialize Grid Search Modelg
model = GridSearchCV(pipeline,param_grid = param_grid,scoring = gini_scorer,verbose= 1,iid= True,refit = True,cv = 3)
model.fit(x,y)
print("Best score: %0.3f" % model.best_score_)
print("Best parameters set:")
model = model.best_estimator_
然后获得功能重要性i:
feature_importances = model.steps[-1][1].feature_importances_
pd.DataFrame(feature_importances,index=feature_names,columns=['Importance']).sort_values('Importance') \
.plot(kind='barh',figsize=(15,25))
但是我不确定如何编辑此代码以允许更改功能重要性,例如如果我希望获得收益等怎么办?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。