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

电商推广方案广州网页seo排名

电商推广方案,广州网页seo排名,用python做电商网站,合肥科技网站建设喜欢的话别忘了点赞、收藏加关注哦(关注即可查看全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 本文紧承 3.4. 主成分分析(PCA)理论, 没看过的建议先看。 3.7.1. 一些准备工作 接下来&…

喜欢的话别忘了点赞、收藏加关注哦(关注即可查看全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)

本文紧承 3.4. 主成分分析(PCA)理论, 没看过的建议先看。
在这里插入图片描述

3.7.1. 一些准备工作

接下来,请你确保你的Python环境中有pandasmatplotlibscikit-learnnumpy这几个包,如果没有,请在终端输入指令以下载和安装:

pip install pandas matplotlib scikit-learn numpy

Iris数据集在scikit-learn中内置有,不需要额外安装。

3.7.2. 读取数据集

Iris数据集内置在sklearn里了,我们可以通过sklearn来引入:

# 加载Iris数据集  
from sklearn import datasets  
iris = datasets.load_iris()  
X = iris.data  # 4维特征  
y = iris.target  # 目标分类

Iris数据集在 3.5. 决策树实战 中就讲过,这里我再简单介绍一下:

这个数据集总共会有三种共150条记录,每类各50个数据。每条各50个数据,每条记录都有4项特征:

  • 花萼长度(Sepal Length)
  • 花萼宽度(Sepal Width)
  • 花瓣长度(Petal Length)
  • 花瓣宽度(Petal Width)

我们会通过花萼和花瓣的这4个特征来对花进行分类:

  • iris-setosa(在数据集中的标签是0)
  • iris-versicolour(在数据集中的标签是1)
  • iris-virginica(在数据集中的标签是2)

以下是Iris数据集里的部分数据:

花萼长度花萼宽度花瓣长度花瓣宽度属种
5.13.51.40.2setosa
4.93.01.40.2setosa
4.73.21.30.2setosa
4.63.11.50.2setosa
5.03.61.40.2setosa
5.43.91.70.4setosa
4.63.41.40.3setosa
5.03.41.50.2setosa

3.7.3. 数据标准化

我先把主成分分析的所有步骤都粘在这里:

  • 原始数据预处理:也就是标准化,因为不同维度的量纲不一定一样。我们先把数据进行一次变换,保证均值 μ = 0 \mu = 0 μ=0, 协方差 σ = 1 \sigma = 1 σ=1
  • 计算协方差矩阵特征向量、及数据在各特征向量投影后的方差
  • 根据方差决定哪些维度和哪些维度合并——方差小,相关性大,就能合并。最后降到 k k k
  • 选取 k k k维特征向量,计算数据在其形成空间的投影

首先就进行标准化,库提供了fit_transform函数来处理:

# 数据标准化  
scaler = StandardScaler()  
X_scaled = scaler.fit_transform(X)

3.7.4. 数据降维

然后我们通过:

# 进行PCA降维到2维  
pca = PCA(n_components=2)  
X_pca = pca.fit_transform(X_scaled)
  • n_components的值可以控制降维后的维度数量
  • .fit_transform方法可以进行降维

3.7.5. 降维之后的数据可视化

使用matplotlib进行数据可视化:

# 可视化降维后的数据  
plt.figure(figsize=(8, 6))  
colors = ['red', 'green', 'blue']  
labels = iris.target_names  
for i in range(len(colors)):  plt.scatter(X_pca[y == i, 0], X_pca[y == i, 1], color=colors[i], label=labels[i], alpha=0.7, edgecolors='k')  plt.xlabel('Principal Component 1')  
plt.ylabel('Principal Component 2')  
plt.title('PCA of Iris Dataset')  
plt.legend()  
plt.grid()  
plt.show()

图片输出:
请添加图片描述

从这幅图中可以看出,降维之后的数据不相关性还是很高的,不同标签的散点还是能够大概分开的。

3.7.6. 组合变量的查看

刚刚表格的两个轴就被替换为了两个组合变量,那我们如何确定是哪两个因子合成了一个轴呢?我们可以查看主成分载荷(Principal Component Loadings),即PCA的特征向量(Components)。这些载荷表示每个原始特征在主成分上的贡献。

sklearn中,可以使用pca.components_属性获取:

import pandas as pd# 获取主成分载荷矩阵
loadings = pca.components_# 创建一个DataFrame,查看每个原始特征在新主成分上的权重
feature_names = iris.feature_names
pc_loadings = pd.DataFrame(loadings, columns=feature_names, index=['PC1', 'PC2'])print("Principal Component Loadings:")
print(pc_loadings)

输出:

Principal Component Loadings:     sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
PC1           0.521066         -0.269347           0.580413          0.564857
PC2           0.377418          0.923296           0.024492          0.066942
  • 每一行(PC1, PC2)对应一个主成分
  • 每一列(原始特征)表示该特征在主成分上的贡献系数
  • 数值的绝对值越大,表示该特征对该主成分的贡献越大
  • 正负号表示该特征在该主成分上的方向(正相关或负相关)

据此可以解读出:

  • 第一主成分 (PC1)主要由petal length (0.580) 和petal width (0.564) 决定,因为两者对于PC1的贡献最大
  • 第二主成分 (PC2)sepal width (0.923) 对 PC2 贡献最大,远高于其他特征。sepal length (0.377) 也有一定贡献,但远不及sepal width。

3.7.7. 降维损失分析

解释方差(Explained Variance)

PCA的每个主成分都保留了数据的一部分方差信息。可以查看解释方差比例(explained variance ratio) 来评估降维损失:

import numpy as np  explained_variance_ratio = pca.explained_variance_ratio_  
print("Explained variance ratio:", explained_variance_ratio)  
print("Total variance retained:", np.sum(explained_variance_ratio))
  • explained_variance_ratio_表示每个主成分解释的方差比例
  • np.sum(explained_variance_ratio_)表示保留的总方差比例,越接近 1,说明损失越小

输出:

Explained variance ratio: [0.72962445 0.22850762]
Total variance retained: 0.9581320720000165

重构误差(Reconstruction Error)

PCA进行降维后,可以将数据从低维空间逆变换(inverse_transform) 回原始空间,然后计算均方误差(MSE) 以评估损失:

X_reconstructed = pca.inverse_transform(X_pca)  # 逆变换回原始空间
reconstruction_error = np.mean((X_scaled - X_reconstructed) ** 2)
print("Reconstruction Error (MSE):", reconstruction_error)
  • 误差越小,说明降维保留的信息越多

输出:

Reconstruction Error (MSE): 0.0418679279999836

文章转载自:

http://3IlfH6qE.tnLnq.cn
http://fC5bqLbJ.tnLnq.cn
http://f9rFN86H.tnLnq.cn
http://QSkMQa8s.tnLnq.cn
http://Ia0Mu6ah.tnLnq.cn
http://tOajYfPE.tnLnq.cn
http://wMIOZqWT.tnLnq.cn
http://52vWjnam.tnLnq.cn
http://Qr49BQvD.tnLnq.cn
http://b20CqLxJ.tnLnq.cn
http://adNoWhep.tnLnq.cn
http://EbTpyk7E.tnLnq.cn
http://Vg45hDX3.tnLnq.cn
http://RnjCSFXz.tnLnq.cn
http://JOHYKT1B.tnLnq.cn
http://hgOkif7P.tnLnq.cn
http://t6ycO0g8.tnLnq.cn
http://uNDyu1an.tnLnq.cn
http://023rJ5Tq.tnLnq.cn
http://30oEtup2.tnLnq.cn
http://yqC50dYy.tnLnq.cn
http://Z1LDxphF.tnLnq.cn
http://MeL1Bgha.tnLnq.cn
http://F97sO9gJ.tnLnq.cn
http://QORhPOK2.tnLnq.cn
http://LG3v8XUM.tnLnq.cn
http://wNHs4Rz0.tnLnq.cn
http://zqnMfS82.tnLnq.cn
http://nhKQCaH3.tnLnq.cn
http://WsOIE5hd.tnLnq.cn
http://www.dtcms.com/wzjs/707219.html

相关文章:

  • 图片墙网站代码可以做视频片头的网站
  • 网站开发一般用哪些语言类似于wordpress的网站
  • 太仓新网站优化可以申请微信号的网站
  • 免费行情网站app页面wordpress 主机优化
  • 杭州专业做网站的公司有哪些青岛工程有限公司
  • 网站建设 公众号东莞网上推广平台
  • 企业建网站流程网站设计费用入哪个会计科目
  • 南昌的网站设计安乡网站制作
  • 源码搭建app教程莱芜网站优化排名
  • 如何在阿里云云服务器上搭建网站开发网站监控平台
  • 张家港网站设计建设一般通过什么键来快速渲染场景
  • 沧州兼职网站建设彩票网站怎么做系统
  • 手机网站制作明细报价表wordpress如何重置后台密码
  • 建企业门户网站做外贸女装有哪些网站
  • 做电影网站用什么软件网站开发中系统部署与维护要求
  • wordpress网站加cnzz外贸采购平台推荐
  • 网站开发建设合同范本江西景德镇建设厅网站
  • 网站建设实训 考核要求达内网络营销
  • 专注徐州网站开发深圳网站建设服务哪家有
  • 合肥金融直播室网站建设有站点地图的网站
  • 霸州住房和城乡建设厅网站网页设计毕业设计任务书
  • 网站建设基本要素公司的网站哪个部门做
  • 网站界面排版招标网站哪个比较好
  • 自助建站官网个人网站作品
  • 网站建设关键要做好哪些工作深圳网站定制公司
  • 沈阳高端网站开发建设jsp做的个人网站
  • 建设工程合同的分类seo关键词怎么优化
  • 拼团做的比较好的网站angular2做的网站有
  • 合网站建设做网站平台接单
  • 网站建设运维jsp网站开发的使用表格