admin管理员组文章数量:1037775
通过选科,体育赛事,优秀论文多维度带你了解主成分分析PCA(附Python代码)
1.举例说明
主成分分析法,是我们在学习这个数学建模的时候应该是经常接触的一个方法了,反正自从我大一开始了解这个数学建模的相关知识,已经学了好几遍这个方法了,随着自己的经历的增加,每一遍对于这个方法的理解都是不一样的,我现在才终于明白这个方法到底是做什么用的;
因此通过我的这个个人经历也是想要说明一点,就是不要指望第一遍学习的时候就对于这个方法理解的特别明白,大概率是你第一遍听得懵懵懂懂,第二遍稍微懂了一些,第三遍在题目里面,比赛里面不断地实践和接触这些方法,第四遍再去学习(结合论文)才知道这个方法是怎么使用的;
主成分分析法,就是PCA,两个想要表达的就是一个意思,目的是为了减少我们的数据里面的相关属性,主成分嘛,实际上就是主要的成分,把这些属性通过组合,减少这个属性的数量,从而达到降维的目的
下面的这个选科案例大家是最能理解的(高考的老制度),我们本来是有六个属性值标的,就是下面的这个表格里面的6项数据,6列数据,这个时候主成分分析就是把这个划分为文科和理科,理科是前面的三个属性,文科是后面的三个属性,但是理科里面的三个属性的占比是不一样的,我们知道这个数学是150分,物理是110分,这个化学是100分(我们地区是这样划分的),这个时候数学占的比重就会更大一些,物理其次,这个化学的比重就会小些;
但是大部分情况下,我们无法确定每一个属性的权重,因为上面的这个例子我们知道每一个学科的这个分数,所以可以根据分数确定这个对应的权重,但是如果是显示器,鼠标,键盘呢,这个情况下又应该如何进行衡量呢,这个时候就是我们的贡献度的概念,就是每一个指标对于我们的这个主成分的贡献度,计算方法涉及到线性代数里面的特征值和特征向量,我不会展开,第三部分里面的代码带大家直观地感受一下;
实际上我们的特征值λ除以所有的这个特征值的和就是这个属性对应的这个贡献率,但是原理不理解没关系(毕竟不是一时半会可以搞明白的),但是我们可以借助编程实现,因为python有这个现成的库供我们进行调用;
2.体育赛事说明
下面通过体育方面的一个案例说明一下:主成分分析的这个结果我们可以重新进行命名;
- 100米,跳高,跳远----爆发力
- 上面的这个就是我们把这个100米和跳高和跳远进行聚集成为一个主成分,这个时候我们就可以根据这个主成分里面的属性的特点对于这个主成分进行命名,因为这个属性100m和跳高跳远都可以体现这个爆发力,这个时候我们就可以把这个主成分叫做爆发力,其中这个主成分里面的这个100m和跳高跳远分别占据不同的这个比重;
- 长跑,5公里,马拉松----持久力
- 同理,上面的三个项目我们根据特点可以命名为持久力,其中这个里面的长跑,5km,马拉松都占据着不同的权重
上面的这个例子仅仅是为了说明我们的这个主成分的命名问题,举一个例子帮助大家理解罢了,并没有什么新奇的;
3.代码说明
代码语言:javascript代码运行次数:0运行复制import numpy as np
from sklearn.decomposition import PCA
X = np.array(
[[66, 64, 65, 65, 65],
[65, 63, 63, 65, 64],
[57, 58, 63, 59, 66],
[67, 69, 65, 68, 64],
[61, 61, 62, 62, 63],
[64, 65, 63, 63, 63],
[64, 63, 63, 63, 64],
[63, 63, 63, 63, 63],
[65, 64, 65, 66, 64],
[67, 69, 69, 68, 67],
[62, 63, 65, 64, 64],
[68, 67, 65, 67, 65],
[65, 65, 66, 65, 64],
[62, 63, 64, 62, 66],
[64, 66, 66, 65, 67]]
)
# n_components 指明了降到几维
pca = PCA(n_components = 2)
# 利用数据训练模型(即上述得出特征向量的过程)
pca.fit(X)
# 得出原始数据的降维后的结果;也可以以新的数据作为参数,得到降维结果。
print(pca.transform(X))
# 打印各主成分的方差占比
print("贡献率:",pca.explained_variance_ratio_)
上面的这个代码里面:n_component表示的就是我们的维度,=2说明我们降低成为2维的,数据里面的5列可以看做是5个属性,这个时候我们根据这5个属性确定主成分
下面的这个是参数=2的时候的计算结果:第一个是82%,第二个是11%,两个的贡献率的求和,专业的叫法是:累计贡献率在(85-95)这个区间里面,所以我们的维度选择2就可以了;
如果这个维度是5,这个时候我们就会发现:对应的五个属性的贡献率分别是82%,11%,2%,2%,0.9%对吧,所以我们只需要让这个累计贡献率达到85-95%就可以了,所以前面的两项就是82+11=93%,符合这个区间要求,因此我们减低成为二维的就可以了因为其他的几个属性占据的这个贡献率非常低(和前面的两个相比,基本上可以忽略不计);
4.论文写法和碎石图说明
上面的这个毕竟都是一些不成熟的例子,主要的这个作用就是帮助大家去理解的,但是我们的这个模型或者说是方法都要在这个实践里面去验证,这样我们才能更好的理解这个模型和方法;
下面的这个是往年的论文里面使用到这个主成分分析这个方法的:下面的这个是关于汽车的,没有涉及到具体的数据,但是人家的这个话术我们可以学习一下,增强对于这个方法的理解;
下面的这个就是碎石图,scree plot就是这个图的英文全称,这个图是怎么看的,就是利用我们的拐点确定对应的这个主成分,在下面的这个图里面,可以看到第一个点到第二个点的这个曲线的坡度是很陡峭的,第二个点到第三个点的这个直线的斜率还行,但是后面的这个就不行了(斜率很小,坡度不陡峭),因此我们选择前面的三个作为主成分的属性,但是计算发现这个累加的这个贡献率不在85-95这个区间里面,所以不适合使用这个方法;
总结:并不是所有的都适合这个方法,如何判断是不是适合的,一个字:用,在这个使用的过程中分析,不能用这个方法并不代表我们不可以往这个论文里面去写,我们只需要说明我们的这个使用过程和最终的出来的这个结论就可以了,毕竟这个也是我们的工作量的一部分,即使不行我们也要写出来,说明我们是有这个方向的考量的;
上面通过论文里面的一个正面的案例和反面的案例,希望能够让大家对于PCA主成分分析这个方法有更加深刻的理解~~
如果觉得对你有用,给个赞呗,码字不易,如果觉得某些地方不妥之处。欢迎锐评,一起交流,一起进步,期待大家的发言和独到见解~~
望能够让大家对于PCA主成分分析这个方法有更加深刻的理解~~
如果觉得对你有用,给个赞呗,码字不易,如果觉得某些地方不妥之处。欢迎锐评,一起交流,一起进步,期待大家的发言和独到见解~~
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-03-11,如有侵权请联系 cloudcommunity@tencent 删除论文数据数学pythonpca通过选科,体育赛事,优秀论文多维度带你了解主成分分析PCA(附Python代码)
1.举例说明
主成分分析法,是我们在学习这个数学建模的时候应该是经常接触的一个方法了,反正自从我大一开始了解这个数学建模的相关知识,已经学了好几遍这个方法了,随着自己的经历的增加,每一遍对于这个方法的理解都是不一样的,我现在才终于明白这个方法到底是做什么用的;
因此通过我的这个个人经历也是想要说明一点,就是不要指望第一遍学习的时候就对于这个方法理解的特别明白,大概率是你第一遍听得懵懵懂懂,第二遍稍微懂了一些,第三遍在题目里面,比赛里面不断地实践和接触这些方法,第四遍再去学习(结合论文)才知道这个方法是怎么使用的;
主成分分析法,就是PCA,两个想要表达的就是一个意思,目的是为了减少我们的数据里面的相关属性,主成分嘛,实际上就是主要的成分,把这些属性通过组合,减少这个属性的数量,从而达到降维的目的
下面的这个选科案例大家是最能理解的(高考的老制度),我们本来是有六个属性值标的,就是下面的这个表格里面的6项数据,6列数据,这个时候主成分分析就是把这个划分为文科和理科,理科是前面的三个属性,文科是后面的三个属性,但是理科里面的三个属性的占比是不一样的,我们知道这个数学是150分,物理是110分,这个化学是100分(我们地区是这样划分的),这个时候数学占的比重就会更大一些,物理其次,这个化学的比重就会小些;
但是大部分情况下,我们无法确定每一个属性的权重,因为上面的这个例子我们知道每一个学科的这个分数,所以可以根据分数确定这个对应的权重,但是如果是显示器,鼠标,键盘呢,这个情况下又应该如何进行衡量呢,这个时候就是我们的贡献度的概念,就是每一个指标对于我们的这个主成分的贡献度,计算方法涉及到线性代数里面的特征值和特征向量,我不会展开,第三部分里面的代码带大家直观地感受一下;
实际上我们的特征值λ除以所有的这个特征值的和就是这个属性对应的这个贡献率,但是原理不理解没关系(毕竟不是一时半会可以搞明白的),但是我们可以借助编程实现,因为python有这个现成的库供我们进行调用;
2.体育赛事说明
下面通过体育方面的一个案例说明一下:主成分分析的这个结果我们可以重新进行命名;
- 100米,跳高,跳远----爆发力
- 上面的这个就是我们把这个100米和跳高和跳远进行聚集成为一个主成分,这个时候我们就可以根据这个主成分里面的属性的特点对于这个主成分进行命名,因为这个属性100m和跳高跳远都可以体现这个爆发力,这个时候我们就可以把这个主成分叫做爆发力,其中这个主成分里面的这个100m和跳高跳远分别占据不同的这个比重;
- 长跑,5公里,马拉松----持久力
- 同理,上面的三个项目我们根据特点可以命名为持久力,其中这个里面的长跑,5km,马拉松都占据着不同的权重
上面的这个例子仅仅是为了说明我们的这个主成分的命名问题,举一个例子帮助大家理解罢了,并没有什么新奇的;
3.代码说明
代码语言:javascript代码运行次数:0运行复制import numpy as np
from sklearn.decomposition import PCA
X = np.array(
[[66, 64, 65, 65, 65],
[65, 63, 63, 65, 64],
[57, 58, 63, 59, 66],
[67, 69, 65, 68, 64],
[61, 61, 62, 62, 63],
[64, 65, 63, 63, 63],
[64, 63, 63, 63, 64],
[63, 63, 63, 63, 63],
[65, 64, 65, 66, 64],
[67, 69, 69, 68, 67],
[62, 63, 65, 64, 64],
[68, 67, 65, 67, 65],
[65, 65, 66, 65, 64],
[62, 63, 64, 62, 66],
[64, 66, 66, 65, 67]]
)
# n_components 指明了降到几维
pca = PCA(n_components = 2)
# 利用数据训练模型(即上述得出特征向量的过程)
pca.fit(X)
# 得出原始数据的降维后的结果;也可以以新的数据作为参数,得到降维结果。
print(pca.transform(X))
# 打印各主成分的方差占比
print("贡献率:",pca.explained_variance_ratio_)
上面的这个代码里面:n_component表示的就是我们的维度,=2说明我们降低成为2维的,数据里面的5列可以看做是5个属性,这个时候我们根据这5个属性确定主成分
下面的这个是参数=2的时候的计算结果:第一个是82%,第二个是11%,两个的贡献率的求和,专业的叫法是:累计贡献率在(85-95)这个区间里面,所以我们的维度选择2就可以了;
如果这个维度是5,这个时候我们就会发现:对应的五个属性的贡献率分别是82%,11%,2%,2%,0.9%对吧,所以我们只需要让这个累计贡献率达到85-95%就可以了,所以前面的两项就是82+11=93%,符合这个区间要求,因此我们减低成为二维的就可以了因为其他的几个属性占据的这个贡献率非常低(和前面的两个相比,基本上可以忽略不计);
4.论文写法和碎石图说明
上面的这个毕竟都是一些不成熟的例子,主要的这个作用就是帮助大家去理解的,但是我们的这个模型或者说是方法都要在这个实践里面去验证,这样我们才能更好的理解这个模型和方法;
下面的这个是往年的论文里面使用到这个主成分分析这个方法的:下面的这个是关于汽车的,没有涉及到具体的数据,但是人家的这个话术我们可以学习一下,增强对于这个方法的理解;
下面的这个就是碎石图,scree plot就是这个图的英文全称,这个图是怎么看的,就是利用我们的拐点确定对应的这个主成分,在下面的这个图里面,可以看到第一个点到第二个点的这个曲线的坡度是很陡峭的,第二个点到第三个点的这个直线的斜率还行,但是后面的这个就不行了(斜率很小,坡度不陡峭),因此我们选择前面的三个作为主成分的属性,但是计算发现这个累加的这个贡献率不在85-95这个区间里面,所以不适合使用这个方法;
总结:并不是所有的都适合这个方法,如何判断是不是适合的,一个字:用,在这个使用的过程中分析,不能用这个方法并不代表我们不可以往这个论文里面去写,我们只需要说明我们的这个使用过程和最终的出来的这个结论就可以了,毕竟这个也是我们的工作量的一部分,即使不行我们也要写出来,说明我们是有这个方向的考量的;
上面通过论文里面的一个正面的案例和反面的案例,希望能够让大家对于PCA主成分分析这个方法有更加深刻的理解~~
如果觉得对你有用,给个赞呗,码字不易,如果觉得某些地方不妥之处。欢迎锐评,一起交流,一起进步,期待大家的发言和独到见解~~
望能够让大家对于PCA主成分分析这个方法有更加深刻的理解~~
如果觉得对你有用,给个赞呗,码字不易,如果觉得某些地方不妥之处。欢迎锐评,一起交流,一起进步,期待大家的发言和独到见解~~
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-03-11,如有侵权请联系 cloudcommunity@tencent 删除论文数据数学pythonpca本文标签: 通过选科,体育赛事,优秀论文多维度带你了解主成分分析PCA(附Python代码)
版权声明:本文标题:通过选科,体育赛事,优秀论文多维度带你了解主成分分析PCA(附Python代码) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1748339292a2287736.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论