当前位置: 首页 > news >正文

网站建设服务器怎么设置360提交网站

网站建设服务器怎么设置,360提交网站,鲜花网站数据库建设分析,公司logo设计注意事项一、PCA概述 定义 主成分分析#xff08;Principal Component Analysis#xff0c;PCA#xff09;是一种经典的无监督降维方法#xff0c;其核心思想是通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量#xff0c;这些新的变量被称为主成分Principal Component AnalysisPCA是一种经典的无监督降维方法其核心思想是通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量这些新的变量被称为主成分。 二、PCA原理 通过投影的方式将高维的数据映射到低维的空间中并且保证在所投影的维度上原数据的信息量最大从而使用较少的数据维度保留住较多的原始数据特性。那么为了达成这个目的PCA可以基于两种思路进行优化 最大可分性样本投影到低维的超平面之后能够尽量地分开。 例如将图中的点分别映射到M轴和N轴上映射到M轴上的样本数据明显比投影到N的样本数据更加分散。 最近重构性样本到待投影的低维超平面的距离要尽量的小 例如平面上的样本到M的距离是蓝色线段到N的距离是绿色线段 显而易见蓝色距离之和小于绿色距离之和所以M在最近重构性方面更好。 PCA的主要思想是将n维特征映射到k维上这k维是全新的正交特征也被称为主成分是在原有n维特征的基础上重新构造出来的k维特征。 三、PCA求解过程 假设有m个样本每个样本有n个特征那么样本集X为: 现在欲将X{x1,x2...xn}降到k维具体过程如下 1去中心化 将数据集中的每个特征的值减去其均值使得每个特征的均值变为0。 首先计算每列特征的均值其中xi为第i个特征 接着让样本矩阵X中的每一个值进去其所在特征列对应的特征均值 如下图所示为二维图像的去中心化示例 首先计算出样本的均值。 接着样本对应的值减去均值中心位移到了原点实现图像去中心化。 去中心化不会影响样本的分布性质但会简化PCA算法的推导过程。 2计算协方差矩阵 Cov是一个n*n的矩阵。 计算数据的协方差矩阵以了解数据特征之间的相关性。 3特征值和特征向量计算 求出协方差矩阵的特征值及对应的特征向量 特征值和特征向量描述了数据在不同方向上的变异程度。 4选择主成分 根据特征值的大小选择前几个最大的特征值对应的特征向量作为主成分。这些特征向量代表了数据中的主要变化方向 将特征向量按对应特征值从左到右按列降序排列成矩阵取前k列组成矩阵W投影矩阵即阶矩阵。 5数据转换 将原始数据通过投影矩阵转换到主成分空间得到新的数据集。这个新数据集的维度小于原始数据集但保留了大部分的数据变异性 通过计算降维到k维后的样本特征即阶矩阵。 四、PCA算法代码实现 具体代码如下 import numpy as np import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.datasets import fetch_olivetti_faces from PIL import Image import os# 配置matplotlib支持中文显示 plt.rcParams[font.family] [SimHei, WenQuanYi Micro Hei, Heiti TC, sans-serif] plt.rcParams[axes.unicode_minus] False # 解决负号显示问题# 1. 加载ORL_Faces数据集 def load_orl_faces(data_dir):加载ORL人脸数据集faces []labels []# 遍历文件夹假设文件夹结构为data_dir/sX/Y.pgmfor person_id in range(1, 41):person_dir os.path.join(data_dir, fs{person_id})if not os.path.exists(person_dir):continuefor img_id in range(1, 11):img_path os.path.join(person_dir, f{img_id}.pgm)if os.path.exists(img_path):# 读取图像并转为灰度图img Image.open(img_path).convert(L)# 转为numpy数组并展平为一维向量face_vector np.array(img).flatten()faces.append(face_vector)labels.append(person_id)return np.array(faces), np.array(labels)# 2. 执行PCA降维 def apply_pca(faces, n_components15):对人脸数据应用PCA降维pca PCA(n_componentsn_components)# 拟合PCA模型并转换数据faces_pca pca.fit_transform(faces)return pca, faces_pca# 3. 可视化主成分特征脸 def visualize_principal_components(pca, n_components10):可视化前n个主成分特征脸plt.figure(figsize(12, 8))for i in range(n_components):# 将主成分重构为图像形状假设原始图像为112x92component pca.components_[i].reshape(112, 92)plt.subplot(2, 5, i1)plt.imshow(component, cmapgray)plt.title(f主成分 {i1})plt.axis(off)plt.tight_layout()plt.show()# 4. 可视化降维后的数据使用前两个主成分 def visualize_reduced_data(faces_pca, labels, n_samples200):使用前两个主成分可视化降维后的数据# 只取前n_samples个样本以便可视化if len(faces_pca) n_samples:faces_pca faces_pca[:n_samples]labels labels[:n_samples]plt.figure(figsize(10, 8))# 使用散点图可视化不同颜色代表不同人物scatter plt.scatter(faces_pca[:, 0], faces_pca[:, 1], clabels, cmapviridis, alpha0.7)# 添加图例plt.colorbar(scatter, label人物编号)plt.title(PCA降维后的数据前两个主成分)plt.xlabel(主成分1)plt.ylabel(主成分2)plt.grid(True, alpha0.3)plt.show()# 5. 计算并可视化方差解释率 def visualize_variance_explained(pca):可视化各主成分的方差解释率及累积方差解释率plt.figure(figsize(12, 5))# 绘制单个主成分的方差解释率plt.subplot(1, 2, 1)plt.bar(range(1, len(pca.explained_variance_ratio_) 1), pca.explained_variance_ratio_)plt.xlabel(主成分序号)plt.ylabel(方差解释率)plt.title(各主成分的方差解释率)plt.grid(True, alpha0.3)# 绘制累积方差解释率plt.subplot(1, 2, 2)cumulative_variance np.cumsum(pca.explained_variance_ratio_)plt.plot(range(1, len(cumulative_variance) 1), cumulative_variance)plt.xlabel(主成分数量)plt.ylabel(累积方差解释率)plt.title(累积方差解释率)plt.axhline(y0.9, colorr, linestyle--, alpha0.7, label90%方差)plt.legend()plt.grid(True, alpha0.3)plt.tight_layout()plt.show()# 主函数 if __name__ __main__:# 数据集路径请根据实际情况修改data_dir ORL_Faces # 假设ORL_Faces数据集在此目录下# 1. 加载数据print(正在加载ORL人脸数据集...)faces, labels load_orl_faces(data_dir)print(f数据加载完成共{len(faces)}张人脸图像每张图像维度{faces.shape[1]})# 2. 应用PCA降维print(正在执行PCA降维...)pca, faces_pca apply_pca(faces, n_components30)print(fPCA降维完成降维后维度{faces_pca.shape[1]})# 3. 可视化主成分特征脸print(可视化主成分特征脸...)visualize_principal_components(pca, n_components10)# 4. 可视化降维后的数据print(可视化降维后的数据...)visualize_reduced_data(faces_pca, labels)# 5. 可视化方差解释率print(可视化方差解释率...)visualize_variance_explained(pca) 运行结果如下
http://www.hkea.cn/news/14575298/

相关文章:

  • 律师网站建设培训班门店推广是什么意思
  • 华为云定制建站服务怎么样淘宝客网站 建设要钱不
  • 东莞茶山网站建设网站有哪些风格
  • 常德自助建站seo西安学校网站建设
  • 注册完域名怎么做网站乐陵网站制作
  • 注册了域名后怎么设计网站只做自己网站
  • 企业建网站的好处哪里培训做网站
  • 电子商务网站开发是指京东网上商城手机
  • 佛山龙江做网站的全部列表支持安卓浏览器软件下载
  • 凡科网建站系统源码网站备份与恢复
  • 开发网站服务器黄岩区信誉好高端网站设计
  • 交易网站seo怎么做公关策划是做什么的
  • 新的网站建设一般多少钱长沙城乡住房建设厅网站
  • 长春高端网站制作wordpress伪静态不跳转404
  • 低价网站建设制作设计公司1月初达到感染高峰
  • 吉安网站推广投资做个app要多少钱
  • 瑞安做网站的公司微信小程序怎么制作自己的程序
  • 专业的网站设计公司有没有女的做任务的网站
  • 四川省城乡和住房建设厅官方网站wordpress微博图床优点缺点
  • 网站标题 关键字零基础编程入门自学
  • 户外网站设计建站之星模板的使用
  • 企业网站营销实现方式淄博 网站seo优化
  • 中华室内设计网招聘网站内部代码优化
  • 飞凡网站建设为什么谷歌浏览器打不开网页
  • 设计网站多少费用多少平台期什么意思
  • 网站建设明确细节网页设计与网站建设考试名词解释
  • 网站数据库多大合适wordpress开发教程 pdf
  • 做网站用框架衡阳退休职工做面膜网站
  • 做网站好的网站建设公司网页制作第一步
  • 自己做一元购网站常见的系统优化软件