机器学习python实践(四)特征选择

《机器学习python实践》书本上给出了源码地址:https://github.com/weizy1981/MachineLearning

特征选择

特征选择的作用:降低数据拟合度,提高算法精度,减少训练时间。

四种特征选择方法:

1.单变量特征选定

统计分析可以用来分析选择对结果影响最大的数据特征。卡方检验是统计样本的实际观测值和理论推断值之间的偏离程度。偏离程度决定了卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合。

from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
from numpy import set_printoptions

#单变量特征选择
test=SelectKBest(score_func=chi2,k=4)
fit=test.fit(X,Y)
set_printoptions(precision=3)
print(fit.scores_)
features=fit.transform(X)
print(features)

2. 递归特征选定

递归特征消除使用一个基模型来进行多轮训练,每一轮训练后消除若干权值系数的特征,再基于新的特征集进行下一轮的训练。

#递归特征消除
from sklearn.linear_model import LogisticRegression
from sklearn.feature_selection import RFE
#特征选定
model=LogisticRegression()
rfe=RFE(model,3)
fit=rfe.fit(X,Y)
print("特征个数:")
print(fit.n_features_)
print("被选定的特征:")
print(fit.support_)
print('特征排名:')
print(fit.ranking_)

3. 主成分分析

主成分分析PCA使用线性代数来转换压缩数据,又称为数据降维。

常见的数据降维方法除了PCA,还有线性判别分析LDA。

#PCA
from sklearn.decomposition import PCA
pca=PCA(n_components=3)
fit = pca.fit(X)
print("解释方差为:%s" % fit.explained_variance_ratio_)
print(fit.components_)

4. 特征的重要性

袋装决策树算法、随机森林和计算随机树算法都可以用来计算数据特征的重要性。

#ExtraTreesClassifier
from sklearn.ensemble import ExtraTreesClassifier
model=ExtraTreesClassifier()
fit=model.fit(X,Y)
print(fit.feature_importances_)

参考《机器学习python实践》,魏贞原,2018.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值