首先我们会用到的python库有:pandas,sklearn
pandas:
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。
Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。
Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。
Pandas 主要引入了两种新的数据结构:DataFrame 和 Series。
sklearn:
sklearn是一个Python第三方提供的非常强力的机器学习库,它包含了从数据预处理到训练模型的各个方面。在实战使用scikit-learn中可以极大的节省我们编写代码的时间以及减少我们的代码量,使我们有更多的精力去分析数据分布,调整模型和修改超参。(sklearn为包名)
第一步,对数据进行规范化处理。
#这里先获取数据
#用到了数据分析的pandas库
import pandas as pd
data=pd.read_excel("你的文件.xlsx")#利用pandas库读取.xlsx文件
X=data.iloc[:,1:]
#这里进行正式的数据规范化处理
#用到机器学习的sklearn库
from sklearn.preprocessing import StandardScaler
scaler=StandardScaler()
scaler.fit(X)
X=scaler.transform(X)
运行的结果如下:
接下来进行主成分分析:
1、导入主成分分析模块PCA
from sklearn.decomposition import PCA
2、利用PCA创建主成分分析对象(这里我设置累计贡献率为0.9以上)
pca=PCA(n_components=0.9)
3、调用pca对象中的fit()方法进行拟合训练
pca.fit(X)
4、调用pca对象中的transform()方法,返回提取的主成分
Y=pca.transform(X)#返回提取的主成分
5、通过pca对象中的components_属性、explained_variance_属性......返回相应的值,比如:
tzxl=pca.components_#返回特征向量
tz=pca.explained_variance_#返回特征值
gxl=pca.explained_variance_ratio_#返回主成分方差百分比(贡献率)
完整的代码如下:
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
#先对数据进行规范化处理
Data=pd.read_excel("高等教育发展数据.xlsx")
X=Data.iloc[:,1:]
scaler=StandardScaler()
scaler.fit(X)
X=scaler.transform(X)
#再这里进行主成分分析的相关操作
pca=PCA(n_components=0.9)#这里设置累计贡献率为0.9以上
pca.fit(X)
Y=pca.transform(X)#返回提取的主成分
tzxl=pca.components_#返回特征向量
tz=pca.explained_variance_#返回特征值
gxl=pca.explained_variance_ratio_#返回主成分方差百分比(贡献率)
Y1=sum(X[0,:]*tzxl[0,:])
Y2=sum(X[1,:]*tzxl[0,:])
Y3=sum(X[2,:]*tzxl[0,:])
Y4=sum(X[3,:]*tzxl[0,:])
运行结果如下: