python实现特征分析--特征重要性和相关系数

机器学习中特征尤为重要,现分享特征分析中计算特征重要性和相关系数的方法

一、特征重要性

可通过两种方式实现

1.机器学习方法自带的feature_importance

importances = xgb1.feature_importances_

2.将某一特征变成随机数,计算袋外误差,误差越高,其重要性越高

importance2 = []
acc = sklearn.metrics.r2_score(Y, xgb1.predict(X))
for i in range(X.shape[1]):
        X1 = X.copy()
        np.random.shuffle(X1[:, i])
        shuff_acc = sklearn.metrics.r2_score(Y, xgb1.predict(X1))
        importance2.append(round((acc-shuff_acc)/acc, 6))

二、相关性

虽然机器学习捕获的是因子之间的非线性关系,相关系数可能不能解释特征的重要性高低,但也可以提供一些分析信息

np.corrcoef(xxx, Y)[0,1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值