栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

主成分分析

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

主成分分析

import numpy as np
from numpy.linalg import eig

x = np.array([2.5, 0.5, 2.2, 1.9, 3.1, 2.3, 2, 1, 1.5, 1.1])
y = np.array([2.4, 0.7, 2.9, 2.2, 3.0, 2.7, 1.6, 1.1, 1.6, 0.9])
x_eve = np.sum(x)/10
y_eve = np.sum(y)/10
x_norm = np.array(x)-x_eve
y_norm = np.array(y)-y_eve

#协方差矩阵
x = x[:,np.newaxis]
y = y[:,np.newaxis]
C = np.hstack((x, y))
C_cov = np.cov(C.T)

#求特征值和特征向量
eigenvalues, engenvectors = eig(C_cov)

#选取特征向量
klarge_index = eigenvalues.argsort()[-1:][::-1]
k_engenvectors = engenvectors[klarge_index]
#FinalData

A = np.hstack((x, y))
F = np.dot(A, k_engenvectors.T)
print(F)
[[-0.06974528]
 [-0.17568836]
 [-0.64069662]
 [-0.32943358]
 [-0.10412843]
 [-0.42587355]
 [ 0.17946095]
 [-0.13082312]
 [-0.15947575]
 [ 0.08399995]]
print(C_cov)
[[0.61655556 0.61544444]
 [0.61544444 0.71655556]]
print(eigenvalues)
[0.0490834  1.28402771]
print(engenvectors)
[[-0.73517866 -0.6778734 ]
 [ 0.6778734  -0.73517866]]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300702.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号