from pandas import read_csv
from sklearn.decomposition import PCA#主要成分分析
from sklearn.feature_selection import RFE#递归特征消除
from sklearn.linear_model import LogisticRegression#线性回归
from sklearn.ensemble import ExtraTreesClassifier#袋装决策树算法
# 导入数据
filename = 'D:\example\MachineLearning-master\pima_data.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names)
# 将数据分为输入数据和输出结果
array = data.values
X = array[:, 0:8]
Y = array[:, 8]
# 特征选定
pca = PCA(n_components=3)#把原始数据降维到3个维度
fit = pca.fit(X)
print("解释方差:%s" % fit.explained_variance_ratio_)
print(fit.components_)
model = LogisticRegression()#逻辑回归算法,
rfe = RFE(model, 3)#选出影响最大的三个数据特征
fit = rfe.fit(X, Y)
print("特征个数:")
print(fit.n_features_)
print("被选定的特征:")
print(fit.support_)
print("特征排名:")
print(fit.ranking_)
model = ExtraTreesClassifier()
fit = model.fit(X, Y)
print(fit.feature_importances_)