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

营销创意网站官网设计费用报价

营销创意网站,官网设计费用报价,有专业制作网站的公司吗,销售做网站以鸢尾花数据集为例,实现PLS-DA降维,画出降维后数据的散点图并求其方差贡献率。 效果图 完整代码 # 导入所需库 import numpy as np from sklearn.cross_decomposition import PLSRegression from sklearn.datasets import load_iris from sklearn.pre…

以鸢尾花数据集为例,实现PLS-DA降维,画出降维后数据的散点图并求其方差贡献率。

效果图

完整代码

# 导入所需库
import numpy as np
from sklearn.cross_decomposition import PLSRegression
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt# 载入数据
iris = load_iris()
X = iris.data
y = iris.target
print(X.shape)
print(y.shape)
# 标准化数据
X = StandardScaler().fit_transform(X)# 定义PLS-DA对象并拟合数据
plsda = PLSRegression(n_components=2)
plsda.fit(X, y)# 得到PLS-DA降维后的数据
X_plsda = plsda.transform(X)
print(X_plsda.shape)
# 绘制散点图
colors = ['blue', 'red', 'green']
labels = ['Setosa', 'Versicolor', 'Virginica']
for i in range(len(colors)):x = X_plsda[:, 0][y == i]y_plot = X_plsda[:, 1][y == i]plt.scatter(x, y_plot, c=colors[i], label=labels[i])# 输出成分贡献率
# 计算PLS-DA成分贡献率# 计算PLSDA的旋转系数
plsda_components = plsda.x_rotations_
print(plsda_components)
plsda_scores = X_plsda
# 计算PLSDA成分解释的方差比例
variance_explained = np.var(plsda_scores, axis=0)   # 计算在PLSDA成分上解释的方差
print("variance_explained shape:", variance_explained.shape)
print("variance_explained:", variance_explained)
total_variance = np.var(X, axis=0)                 # 计算在原始数据上总方差的和
print("total_variance shape:", total_variance.shape)
print("total_variance:", total_variance)
plsda_variance_ratio = variance_explained / total_variance.sum()
print("total_variance.sum():", total_variance.sum())   # 计算PLSDA成分解释的方差比例
# print(plsda_variance_ratio)
# 输出成分贡献率
for i, ratio in enumerate(plsda_variance_ratio):print(f'PLS-DA Component {i + 1}: {ratio * 100:.2f}%')plt.xlabel('LV1 ({} %)'.format(round(plsda_variance_ratio[0] * 100, 2)))
plt.ylabel('LV2 ({} %)'.format(round(plsda_variance_ratio[1] * 100, 2)))plt.legend()
plt.show()

 代码解析

主要解析求成分贡献率的过程:

plsda_components = plsda.x_rotations_
plsda_scores = X_plsda
variance_explained = np.var(plsda_scores, axis=0)
total_variance = np.var(X, axis=0)
plsda_variance_ratio = variance_explained / total_variance.sum()
  1. plsda.x_rotations_plsda是进行PLS-DA的对象,plsda.x_rotations_是PLS-DA模型中X变量(即自变量)的旋转矩阵,表示如何将原始数据X映射到新的降维空间中。将该旋转矩阵存储到变量plsda_components中。对于此数据集,得到的plsda_components是4x2的矩阵。

  2. X_plsda:这是使用PLS-DA降维后的X变量数据集,是150×2的矩阵。

  3. variance_explained = np.var(plsda_scores, axis=0):计算每个主成分(即降维后的新变量)在降维后数据中的方差解释比例,存储到变量variance_explained中。这里使用np.var()函数计算方差。由于本次代码是使用PLS-DA将数据降到2维,故得到的variance_explained是一个包含2个元素的一维数组[2.89312513 0.15504989],表示每个特征的方差之和

  4. total_variance = np.var(X, axis=0):计算原始数据X中每个变量的总方差,存储到变量total_variance中。原始数据是150×4的矩阵,故total_variance是一个包含4个元素的一维数组,[1. 1. 1. 1.]。

  5. plsda_variance_ratio = variance_explained / total_variance.sum():计算每个主成分在总方差中的方差解释比例,即PLS-DA的方差解释比例。将结果存储到变量plsda_variance_ratio中。total_variance.sum()是求总方差的和,即每个变量的方差之和。这里total_variance.sum()等于3.9999999999999987而不是4,是由于浮点数的存储方式,在某些情况下,计算机无法精确表示某些小数。所以此计算步骤为[2.89312513/3.9999999999999987, 0.15504989/3.9999999999999987]得到[0.72328128 0.03876247],也就是每个主成分在总方差中的方差解释比例。

http://www.yayakq.cn/news/912212/

相关文章:

  • 现在市场网站建设怎么样搭建一个影视网站
  • 外贸网站建设ppt模板网站建设实例
  • 怎么提高网站的百度收录自己接单做网站
  • 第一次做网站不知道ppt模板免费下载 动态
  • 网站建设违约怎么投诉网站备案最快要几天
  • 南京响应式网站建设ui设计线上培训
  • 河北seo网站优化价格网站开发配置
  • 建设银行网站登录入口软件开发自学步骤视频
  • 如何写代码做网站江苏省招标投标信息网
  • 做网站容易还是编程容易外贸公司管理系统
  • 当前业界主流的网站建设韩国女篮出线了吗
  • 做国际物流需网站如何做推广网站
  • 自己做视频网站 在优酷推广全国猎头公司前十名
  • 去别人网站挂黑链wordpress省理工大学
  • 柳市哪里有做网站推广在服务器上布网站怎么做
  • 减肥网站源码WordPress实现点击加载
  • 黔南州建设局门户网站汇创建站
  • 简单的网站怎么做的wordpress只做内容管理
  • 四川建设网站官网拍卖网站模板下载
  • 宠物网站建设内容济南哪里有做网站的
  • 网站建设 软件开发的公司排名wordpress超简洁主题
  • 手淘网站建设需求分析商贸公司名字推荐
  • 手机网站样式做自媒体与做网站
  • h5网站制作网站开发东营会计信息网官网首页
  • 陕西省建设厅网站怎么查焊工证软文营销平台
  • 民众镇做网站公司洛阳网站建设找洛阳铭信网络
  • 网站类别选择网站的动画效果代码
  • 网站建设需要学习课程网上找兼职的网站
  • 建设官方网站需要注意什么wordpress后台用户名和密码
  • 常州网站建设方案维护WordPress页面模板功能不见了