赞
踩
机器学习中特征尤为重要,现分享特征分析中计算特征重要性和相关系数的方法
一、特征重要性
可通过两种方式实现
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]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。