前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习算法(四)之PCA降维算法代码

机器学习算法(四)之PCA降维算法代码

作者头像
千与编程
发布2023-04-28 13:35:33
3720
发布2023-04-28 13:35:33
举报
文章被收录于专栏:公众号:千与编程

PCA降维的算法的代码,可以使用sklearn进行直接进行调用,调用的代码如下: 将sklearn机器学习框架进行安装

代码语言:javascript
复制
pip install sklearn

调用sklearn工具包用来进行PCA数据降维 导入矩阵与数组计算扩展包

代码语言:javascript
复制
import numpy as np

定义标准化的函数

代码语言:javascript
复制
def BatchNormalize(X):
  mu = np.mean(X,axis=0)
  sigma = np.std(X,axis=0) #计算标准差
  for i in range(X.shape[1]):
    X[:,i] = (X[:,i] - mu[i]) / sigma[i]  #进行归一化计算
  return X,mu,sigma

定义输入矩阵X

代码语言:javascript
复制
x = np.array([[0.9,2.4,1.2,0.5,0.3,1.8,0.5,0.3,2.5,1.3],
  [1,2.6,1.7,0.7,0.7,1.4,0.6,0.6,2.6,1.1],[1,2.5,1.1,0.6,0.6,1.3,0.5,207,208,1.0]])

降维计算

代码语言:javascript
复制
x = x.T  #计算x矩阵的转置矩阵
x,mu,sigma = BatchNormalize(x)
c = np.cov(x.T) #np.cov计算矩阵X的协方差
w,v = np.linalg.eig(c) #协方差矩阵的特征值和特征向量
v = v[:,0:2] #主成分分析取前两列
y = np.dot(x,v)

输入矩阵X为:

三维降维为二维后进行矩阵输出:

完整代码开源在本人github社区:

https://github.com/qianyuqianxun-DeepLearning/PCA-code.git

AI学习的道路上,一起学习进步~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 千与编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档