python数据分析的主成分分析的简单讲解(手动加导入库实现)
文章目录
前言
主成分分析是数据分析中的一种分析方法,用于分析出影响最大的因子和一系列因子,帮助你做决策,以及设置权重
提示:以下是本篇文章正文内容,下面案例可供参考
一、python数据分析的主成分分析的简单讲解(手动加导入库实现)
1.实现过程
代码如下(示例):
import numpy as np
print('======================第一个求解主成分======================')
A = np.array([[1, 0.3], [0.3, 1]])
print('打印A:\n{}'.format(A))
print('============================================')
a, b = np.linalg.eig(A)
for i in range(len(a)-1):
for j in range(1, len(a)):
if(a[i] < a[j]):
root = a[j]
a[j] = a[i]
a[i] = root
magnitute = b[j]
b[j] = b[i]
b[i] = magnitute
for i in range(len(a)):
print('第{}个特征根: {}'.format(i+1, a[i]))
print('第{}个特征向量: y = {}*x1 + {}*x2'.format(i+1, b[i][0], b[i][1]))
print('\n======================第二个求解主成分======================')
A = np.array([[1, 0, 0], [0, 5, 0], [0, 0, 4]])
print('打印A:\n{}'.format(A))
print('============================================')
a, b = np.linalg.eig(A)
for i in range(len(a)-1):
for j in range(1, len(a)):
if(a[i] < a[j]):
root = a[j]
a[j] = a[i]
a[i] = root
magnitute = b[j]
b[j] = b[i]
b[i] = magnitute
for i in range(len(a)):
print('第{}个特征根: {}'.format(i+1, a[i]))
print('第{}个特征向量: y = {}*x1 + {}*x2 + {}*x3'.format(i+1, b[i][0], b[i][1], b[i][2]))
实现的结果:![](https://img-blog.csdnimg.cn/20201212230111181.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1ODM0Njg1,size_16,color_FFFFFF,t_70)
总结
主成分分析是数据分析中的一种分析方法,用于分析出影响最大的因子和一系列因子,帮助你做决策,以及设置权重