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

企业电商网站开发mitao wordpress

企业电商网站开发,mitao wordpress,西昌市建设工程管理局网站,网站建设能做什么工作目录 1. 主体思想2. 算法流程3. 代码实践 1. 主体思想 主成分分析#xff08;Principal Component Analysis#xff09;常用于实现数据降维#xff0c;它通过线性变换将高维数据映射到低维空间#xff0c;使得映射后的数据具有最大的方差。主成分可以理解成数据集中的特征… 目录 1. 主体思想2. 算法流程3. 代码实践 1. 主体思想 主成分分析Principal Component Analysis常用于实现数据降维它通过线性变换将高维数据映射到低维空间使得映射后的数据具有最大的方差。主成分可以理解成数据集中的特征具体来说第一主成分是数据中方差最大的特征即该特征下的值的方差最大数据点在该方向有最大的扩散性即在该方向上包含的信息量最多。第二主成分与第一主成分正交即与第一主成分无关并在所有可能正交方向中选择方差次大的方向。然后第三主成分与前两个主成分正交且选择在其余所有可能正交方向中有最大方差的方向以此类推有多少特征就有多少主成分。 主成分上的方差越小说明该特征上的取值可能都相同那这一个特征的取值对样本而言就没有意义因为其包含的信息量较少。主成分上的方差越大说明该特征上的值越分散那么它包含的信息就越多对数据降维就越有帮助。 下图1中紫色线方向上数据的方差最大该方向上点的分布最分散包含了更多的信息量则可以将该方向上的特征作为第一主成分。 主成分分析的优点2 数据降维PCA能够减少数据的维度复杂度提高计算效率。数据可视化通过PCA降维可以将数据可视化到更低维度的空间中便于数据的观察和理解。去除噪声 主成分分析可以把数据的主要特征提取出来数据的主要特征集中在少数几个主成分上忽略小的、可能是噪声的特征同时可以防止过拟合。去除冗余 在原始数据中很多情况下多个变量之间存在高度相关性导致数据冗余。PCA通过新的一组正交的主成分来描述数据可以最大程度降低原始的数据冗余。 2. 算法流程 数据预处理中心化 x i − x ˉ x_i-\bar{x} xi​−xˉ (每列的每个值都减去该列的均值)。求样本的协方差矩阵 1 m X T X \frac{1}{m}X^TX m1​XTXm为样本数量X为样本矩阵。计算协方差矩阵的特征值和对应的特征向量。选择最大的 K K K 个特征值对应的 K K K 个特征向量构造特征矩阵。将中心化后的数据投影到特征矩阵上。输出投影后的数据集。 协方差矩阵的计算二维 C 1 m X T X ( C o v ( x , x ) C o v ( x , y ) C o v ( y , x ) C o v ( y , y ) ) ( 1 m ∑ i 1 m x i 2 1 m ∑ i 1 m x i y i 1 m ∑ i 1 m y i x i 1 m ∑ i 1 m y i 2 ) C\frac{1}{m}X^TX\begin{pmatrix}Cov(x,x)Cov(x,y) \\Cov(y,x)Cov(y,y)\end{pmatrix} \begin{pmatrix} \frac{1}{m}\sum_{i1}^{m}x_i^2\frac{1}{m}\sum_{i1}^{m}x_iy_i \\ \frac{1}{m}\sum_{i1}^{m}y_ix_i\frac{1}{m}\sum_{i1}^{m}y_i^2 \end{pmatrix} Cm1​XTX(Cov(x,x)Cov(y,x)​Cov(x,y)Cov(y,y)​)(m1​∑i1m​xi2​m1​∑i1m​yi​xi​​m1​∑i1m​xi​yi​m1​∑i1m​yi2​​) 其中 x x x 和 y y y 表示不同的特征列 c o v ( x , x ) D ( x ) 1 m ∑ i 1 m ( x i − x ˉ ) 2 cov(x,x)D(x)\frac{1}{m}\sum_{i1}^{m}(x_i-\bar{x})^2 cov(x,x)D(x)m1​∑i1m​(xi​−xˉ)2协方差矩阵中的 x i x_i xi​ 表示已经中心化后的值协方差矩阵是一个对称的矩阵且对角线元素是各个特征一列即为一个特征的方差。 协方差矩阵的计算三维 C ( C o v ( x , x ) C o v ( x , y ) C o v ( x , z ) C o v ( y , x ) C o v ( y , y ) C o v ( y , z ) C o v ( z , x ) C o v ( z , y ) C o v ( z , z ) ) C\begin{pmatrix} Cov(x,x)Cov(x,y)Cov(x,z) \\ Cov(y,x)Cov(y,y)Cov(y,z) \\ Cov(z,x)Cov(z,y)Cov(z,z) \end{pmatrix} C ​Cov(x,x)Cov(y,x)Cov(z,x)​Cov(x,y)Cov(y,y)Cov(z,y)​Cov(x,z)Cov(y,z)Cov(z,z)​ ​ 举例说明 下面共5个样本每个样本两个特征第一列的均值为2.2第二列的均值为3.8。 数据中心化每列的每个值都减去该列的均值 计算协方差矩阵 C [ 1.7 1.05 1.05 5.7 ] C\begin{bmatrix} 1.71.05 \\ 1.055.7 \end{bmatrix} C[1.71.05​1.055.7​] 计算特征值与特征向量 e i g e n v a l u e s [ 1.4411286 , 5.9588714 ] eigenvalues[1.4411286,5.9588714] eigenvalues[1.4411286,5.9588714] e i g e n v e c t o r s [ − 0.97092685 − 0.23937637 0.23937637 − 0.97092685 ] eigenvectors\begin{bmatrix} -0.97092685-0.23937637\\ 0.23937637-0.97092685 \end{bmatrix} eigenvectors[−0.970926850.23937637​−0.23937637−0.97092685​] 选择最大的一个特征值将数据降为一维5.9588714对应的特征向量为 [ − 0.23937637 − 0.97092685 ] \begin{bmatrix} -0.23937637\\ -0.97092685 \end{bmatrix} [−0.23937637−0.97092685​] 将中心化后的数据投影到特征矩阵 [ − 1.2 − 1.8 − 0.2 0.2 − 1.2 1.2 0.8 − 2.8 1.8 3.2 ] ∗ [ − 0.23937637 − 0.97092685 ] [ 2.03491998 − 0.1463101 − 0.87786057 2.52709409 − 3.5378434 ] \begin{bmatrix} -1.2-1.8 \\ -0.20.2 \\ -1.21.2 \\ 0.8-2.8 \\ 1.83.2 \end{bmatrix}*\begin{bmatrix} -0.23937637\\ -0.97092685 \end{bmatrix}\begin{bmatrix} 2.03491998\\ -0.1463101\\ -0.87786057\\ 2.52709409\\ -3.5378434 \end{bmatrix} ​−1.2−0.2−1.20.81.8​−1.80.21.2−2.83.2​ ​∗[−0.23937637−0.97092685​] ​2.03491998−0.1463101−0.877860572.52709409−3.5378434​ ​ [ 2.03491998 − 0.1463101 − 0.87786057 2.52709409 − 3.5378434 ] \begin{bmatrix} 2.03491998\\ -0.1463101\\ -0.87786057\\ 2.52709409\\ -3.5378434 \end{bmatrix} ​2.03491998−0.1463101−0.877860572.52709409−3.5378434​ ​即为降维后的数据。 3. 代码实践 from sklearn.neural_network import MLPClassifier from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report,confusion_matrix import numpy as np import matplotlib.pyplot as plt# 载入手写体数据集并切分为训练集和测试集 digits load_digits() x_data digits.data y_data digits.target x_train, x_test, y_train, y_test train_test_split(x_data,y_data) x_data.shape 运行结果 (1797, 64)# 创建神经网络模型包含两个隐藏层每个隐藏层的神经元数量分别为 # 100和50最大迭代次数为500 mlp MLPClassifier(hidden_layer_sizes(100,50) ,max_iter500) mlp.fit(x_train,y_train)# 数据中心化 def zeroMean(dataMat):# 按列求平均即各个特征的平均meanVal np.mean(dataMat, axis0) newData dataMat - meanValreturn newData, meanVal# PCA降维top表示要将数据降维到几维 def pca(dataMat,top):# 数据中心化newData,meanValzeroMean(dataMat) # np.cov用于求协方差矩阵参数rowvar0说明数据一行代表一个样本covMat np.cov(newData, rowvar0)# np.linalg.eig求矩阵的特征值和特征向量eigVals, eigVects np.linalg.eig(np.mat(covMat))# 对特征值从小到大排序eigValIndice np.argsort(eigVals)# 从eigValIndice中提取倒数top个索引并按照从大到小的顺序返回一个切片列表# 后一个 -1 表示切片的方向为从后往前以负的步长-1进行迭代n_eigValIndice eigValIndice[-1:-(top1):-1]# 最大的n个特征值对应的特征向量n_eigVect eigVects[:,n_eigValIndice]# 低维特征空间的数据lowDDataMat newData*n_eigVect# 利用低纬度数据来重构数据reconMat (lowDDataMat*n_eigVect.T) meanVal# 返回低维特征空间的数据和重构的矩阵return lowDDataMat,reconMat # 绘制降维后的数据及分类结果共10个类 lowDDataMat, reconMat pca(x_data, 2) predictions mlp.predict(x_data) x np.array(lowDDataMat)[:,0] y np.array(lowDDataMat)[:,1] plt.scatter(x,y,cy_data)# 将数据降为3维 lowDDataMat, reconMat pca(x_data,3) # 绘制三维数据及分类结果共10个类 x np.array(lowDDataMat)[:,0] y np.array(lowDDataMat)[:,1] z np.array(lowDDataMat)[:,2] ax plt.figure().add_subplot(111, projection 3d) ax.scatter(x, y, z, c y_data, s 10) #点为红色三角形 主成分分析PCA ↩︎ 主成分分析PCA理解 ↩︎
http://www.w-s-a.com/news/568986/

相关文章:

  • 中国建设银行官网首页网站wordpress小工具不能完全显示
  • 企业网站的开发流程是什么网站开发怎么销售
  • 现在网站还用asp做男科医院哪家好一些
  • 服装设计网站素材郑州汉狮做网站网络公司
  • 宜州做网站做仿制网站
  • 中山营销型网站厦门工程建设招聘信息网站
  • 网站开发 外包空心找回微信
  • 长沙市网站推广多少钱网站开发流程图和介绍
  • 网站后缀net施工企业自建自用的工程可以不进行招标是否正确
  • 鄂尔多斯市住房和城乡建设厅网站帮别人做网站赚钱6
  • 宜选科技就是帮人做网站动漫制作专业主修课程
  • 怎么做网站免费的教程温州捷创网站建设
  • 做免费推广的网站有哪些深圳华强北最新消息
  • 电子商务网站建设规划开题报告桂林漓江景区游玩攻略
  • 程序员参与洗钱网站建设做视频网站需要多少钱
  • 网站建设背景是什么企业邮箱怎么写
  • 山东省建设资格中心网站iis wordpress安装教程
  • 做的网站 显示乱码怎么做微信小程序平台
  • 怎样建设打字网站怎样增加网站浏览量
  • 网站建设方案的征求意见网站主机免备案
  • 共享农业网站建设郑州市建网站
  • 成都网站建设四川冠辰网站建设带会员系统的网站模板
  • 水果网站建设方案书wordpress get_the_category
  • 第一ppt网站官网买域名价格
  • 网站 报价单自己做的网站如何上传
  • 天津网站建立辽宁建设工程信息网2017年定额人工费系数
  • 柳州网站优化搜索引擎优化方法案例
  • 什么网站比较少人做响应式网站开发周期
  • 公司网站欢迎语工作期间员工花钱做的网站
  • 新网站该如何做网站优化呢网络营销网站设计