对excel数据主成分分析的python实现

# -*- coding: utf-8 -*-
"""
Created on Wed May 27 18:01:54 2020

#主成分分析 降维

@author: hean
"""
import pandas as pd
import numpy as np
inputfile = 'C:/Users/Admin/Desktop/课程资料/金融机构风险管理/期末论文/2019.xlsx'#原始数据
outputfile = 'C:/Users/Admin/Desktop/课程资料/金融机构风险管理/期末论文/finish2019.xlsx' #降维后的数据

data = pd.read_excel(inputfile, header = None, sheet_name = 'ok') #读入数据
scale = (data-data.mean())/(data.std())#标准化数据

print(scale)#查看数据是否正常

from sklearn.decomposition import PCA

pca = PCA()   #保留所有成分
pca.fit(scale)
feature_vector = pca.components_ #返回模型的各个特征向量
contri_rate = pca.explained_variance_ratio_ #返回各个成分各自的方差百分比(也称贡献率)
print(contri_rate)#查看贡献率

pca = PCA(3)  #选取累计贡献率大于80%的主成分(3个主成分)
pca.fit(scale)
low_d = pca.transform(scale)   #降低维度

#将结果写入excel
writer=pd.ExcelWriter(outputfile)
pd.DataFrame(low_d).to_excel(writer,sheet_name='主成分',) 
pd.DataFrame(contri_rate).to_excel(writer,sheet_name='贡献率')
pd.DataFrame(feature_vector).to_excel(writer,sheet_name='特征向量')
pd.DataFrame(scale).to_excel(writer,sheet_name='标准化数据')
writer.save()

你可能感兴趣的:(python,pca降维,excel)