python进行简单的数据主成分分析

首先我们会用到的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,:])

运行结果如下:

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主成分分析(PCA)是一种常用的降维技术,用于从高维数据中提取最重要的特征。在Python中,可以使用sklearn库中的PCA类来进行主成分分析。 在进行PCA之前,首先需要导入必要的库和数据集。然后,通过创建PCA对象来拟合和转换数据集。拟合的过程会计算数据集的主成分,并将数据集转换为新的低维表示。可以使用explained_variance_ratio_属性来了解每个主成分所解释的方差比例,这有助于判断每个主成分的重要性。 下面是一段示例代码,演示了如何使用Python进行PCA数据主成分分析: ```python import numpy as np from sklearn.decomposition import PCA # 导入数据集 data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # 创建PCA对象 pca = PCA(n_components=2) # 拟合和转换数据集 transformed_data = pca.fit_transform(data) # 输出转换后的数据 print(transformed_data) ``` 在这个示例中,我们使用一个3维的数据集,然后使用PCA将其降维到2维。最后,我们打印出转换后的数据集。 通过使用PCA,我们可以找到数据集的主要组成部分,并将数据集转换为较低维度的表示形式,同时尽可能保留数据的信息。***<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python 中的主成分分析 (PCA)](https://blog.csdn.net/pythonandaiot/article/details/122307911)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值