【机器学习】用特征量重要度(feature importance)解释模型靠谱么?怎么才能算出更靠谱的重要度?

【机器学习】用特征量重要度(feature importance)解释模型靠谱么?怎么才能算出更靠谱的重要度?

我们用机器学习解决商业问题的时候,不仅需要训练一个高精度高泛化性的模型,往往还需要解释哪些因素或特征影响了预测结果。比如预测保险客户是否会解约(customer churn),我们不仅要知道谁会解约,我们还想知道他为啥解约。最常用的方式,便是查看特征量的重要度。

(*这里的特征量指用来预测结果的要因feature/predictor/independent variable,比如用客户这周的搜索关键词预测下周会不会买游戏机,搜索关键词就是特征量,下周会不会买游戏机就是预测结果)

特征量重要度的计算一般取决于用什么算法,如果是以决定树为基础(tree-based)的集成算法,比如随机森林,lightGBM之类的,一般都是取impurity(gini)平均下降幅度最大的一些特征,python的 Scikit-learn里面就有命令可以计算。

像这样:

from sklearn.ensemble import RandomForestClassifier

rf = RandomForestClassifier(
         n_estimators=100,
         n_jobs=-1,
         min_samples_leaf = 5,
         oob_score=True,
         random_state = 42)
rf.fit(X_train, y_train)

feat_importances =<
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值