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

武汉公司建站模板竞价推广代运营服务

武汉公司建站模板,竞价推广代运营服务,wordpress如何转载别人的文章,网站建设的费用计入目录 一、主成分分析 二、奇异值分解 2.1 奇异值分解原理 2.2 奇异值分解实践 三、特征值与特征向量 一、主成分分析 主成分有如下特征: 每个主成分是原变量的线性组合;各个主成分之间互不相关;主成分按照方差贡献率从大到小依次排列&…

目录

一、主成分分析

二、奇异值分解

2.1 奇异值分解原理

2.2 奇异值分解实践

三、特征值与特征向量


一、主成分分析

主成分有如下特征:

  • 每个主成分是原变量的线性组合;
  • 各个主成分之间互不相关;
  • 主成分按照方差贡献率从大到小依次排列;
  • 所有主成分的方差贡献率求和为1;
  • 提取后的主成分通常小于原始数据变量的数量;
  • 提取后的主成分尽可能地保留了原始变量中的大部分信息。

我们仍以经典的鸢尾花数据集对主成分分析进行介绍。

通过导入PCA进行主成分分析。

#导入库
import numpy as np
import pandas as pd
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris#导入数据
data=load_iris()#主成分分析
model=PCA()
model.fit(data.data)#显示主成分信息
pd.DataFrame(model.transform(data.data),columns=["PC{}".format(x+1) for x in range(data.data.shape[1])])

 

上述结果给出了鸢尾花数据集的4个(全部)主成分,然而选择几个主成分需要进一步判断。这里可以通过计算主成分的累计贡献率进行判断,代码如下:

import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
plt.gca().get_xaxis().set_major_locator(ticker.MaxNLocator(integer=True))
plt.plot([0]+list(np.cumsum(model.explained_variance_ratio_)),"-")
plt.xlabel("Number of principal componets")
plt.ylabel("Cumulative contribution rate")
plt.show()

 从上图可以看出,主成分从0~1时非常陡峭,而从1往后区域平缓,因此,针对4维鸢尾花数据,我们只需要保留1个主成分,即将原4维数据降维到现在的1维。

利用下面的代码,我们可以用更加量化的方式查看主成分累积贡献率。

model.explained_variance_ratio_

 结果显示,1个主成分就已经达到了92.46%,保留了原数据中绝大部分信息。

综上,主成分分析的全部代码如下:

#导入库
import numpy as np
import pandas as pd
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris#导入数据
data=load_iris()#主成分分析
model=PCA()
model.fit(data.data)#显示主成分信息
pd.DataFrame(model.transform(data.data),columns=["PC{}".format(x+1) for x in range(data.data.shape[1])])#绘制主成分的累积贡献率的折线图
import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
plt.gca().get_xaxis().set_major_locator(ticker.MaxNLocator(integer=True))
plt.plot([0]+list(np.cumsum(model.explained_variance_ratio_)),"-")
plt.xlabel("Number of principal componets")
plt.ylabel("Cumulative contribution rate")
plt.show()#量化主成分的累计贡献率
model.explained_variance_ratio_

二、奇异值分解

2.1 奇异值分解原理

奇异值分解(SVD)将一个任意矩阵进行分解,无须考虑特征值分解时需要矩阵是方阵的前提。

假设矩阵M是一个m\times n阶矩阵,则可以将其分解为下面的三个矩阵相乘:M=U\varepsilon V^{T}

其中:

  • U是m\times n阶正交矩阵,UU^{T}=II为单位矩阵;
  • V^{T}n\times n阶正交矩阵,VV^{T}=I
  • \varepsilonm \times m阶非负实数对角矩阵,\varepsilon =diag(\sigma _{1},\sigma _{2},...,\sigma _{n}),\sigma _{1}\geq \sigma _{2}\geq ...\geq \sigma _{n}

这种将矩阵M分解的方法就被称为奇异值分解,\varepsilon矩阵上对角线上的元素即为M的奇异值。

考虑一个m> n的任意矩阵,此时\varepsilon的秩为n,矩阵中不同深度的灰色表示奇异值大小不同,对角线上的奇异值(假设存在n个非零的奇异值)依次从大到小进行排列。在这种情况下,矩阵U的最后m-n列失去了意义。

因此可以做进一步的变化,此时m \times m阶的矩阵U变为m \times n阶的矩阵U_{1}m \times n阶的矩阵\varepsilon变为n \times n阶的矩阵\varepsilon_{1}

当我们取k<n,比如k=2时,即认为前两个奇异值占总奇异值之和的比例非常大,因此可以如下图进行运算,尽管此时M_{2}\neq M,但是由于删除的奇异值占比很小,我们可以认为M_{2}\approx M

2.2 奇异值分解实践

利用python可以很方便实现对矩阵的奇异值分解,例如对4 \times 5阶的矩阵M进行奇异值分解:

M=\begin{bmatrix} 1 & 0 & 0 & 0 & 2\\ 0& 0 & 3 &0 &0 \\ 0& 0 & 0 &0 &0 \\ 0&4 &0 &0 &0 \end{bmatrix}

 代码如下:

import numpy as np
M=np.array([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])
U,Sigma,VT=np.linalg.svd(M)
print("U:",U)
print("Sigma:",Sigma)
print("VT:",VT)

 导入一张图片,下面的代码给出了地秩近似序列使用奇异值分解逼近的图片。

import numpy as np
import matplotlib.pyplot as plt
from PIL import Imager_max=300  #设置最大的秩
Pic="C:\\Users\\LEGION\\Pictures\\Saved Pictures\\暨大logo.png"image=Image.open(Pic).convert("L")
img_mat=np.asarray(image)U,s,V=np.linalg.svd(img_mat,full_matrices=True)
s=np.diag(s)for k in range(r_max+1):approx=U[:,:k] @ s[0:k,:k] @ V[:k,:]img=plt.imshow(approx,cmap='gray')plt.title("SVD approximation with degree of %d"%(k))plt.plot()plt.pause(0.001)plt.clf()

三、特征值与特征向量

利用python与Numpy库,很容易得到一个矩阵的特征值和特征向量。

import numpy as np
A=np.array([[1,2],[3,4]])
a,b=np.linalg.eig(A)
print("A的特征值为:\n",a)
print('A的特征向量为:\n',b)

 

通过np.lianlg.eig()函数得到的特征向量是已经标准化的向量, 即长度为1.改函数给出的特征值未按大小顺序排序。

除了特征值和特征向量外,协方差矩阵与相关系数矩阵也是降维分析中的重要概念。以鸢尾花的4个特征向量为例,协方差矩阵的每个元素是各个向量元素之间的协方差,相关系数矩阵的各元素是由各特征间的相关系数构成的。

import numpy as np
from sklearn.datasets import load_iris#导入数
data=load_iris()
X=data.dataCov_X=np.cov(X.T)  #求解协方差矩阵
Cor_X=np.corrcoef(X.T)  #求解相关系数矩阵print("协方差矩阵:\n",Cov_X)
print("相关系数矩阵:\n",Cor_X)

利用协方差矩阵和相关系数矩阵可以求解主成分。这里以利用协方差矩阵为例进行说明。

沿用上面的协方差矩阵数据,可以求得其特征值和特征向量:

import numpy as np
from sklearn.datasets import load_iris#导入数
data=load_iris()
X=data.dataCov_X=np.cov(X.T)  #求解协方差矩阵a,b=np.linalg.eig(Cov_X)
print("协方差矩阵的特征值为:\n",a)
print('协方差矩阵的特征向量为:\n',b)

协方差矩阵的特征值即为主成分的方差贡献率:

4.2282/(4.2282+0.2427+0.0782+0.0238)=0.9246

0.2427/(4.2282+0.2427+0.0782+0.0238)=0.05310.0782/(4.2282+0.2427+0.0782+0.0238)=0.01710.0238/(4.2282+0.2427+0.0782+0.0238)=0.0052

第一个主成分(解释方差)所占比例已经高达92.46%,说明已经可以在这个比例上解释原始数据信息,因此可以将鸢尾花数据从四维降至一维。第一主成分如下:

Y_{1}=0.3614\times(x_{1}-\bar{x}_{1})-0.0845\times(x_{2}-\bar{x}_{2})+0.8567\times(x_{3}-\bar{x}_{3})+0.3583\times(x_{4}-\bar{x}_{4})

其中,\bar{x}_{i}(i=1,2,3,4)表示该列特征的均值,等式右边的系数为协方差矩阵的特征向量的第一列(与第一个特征值相对应的数值)。 

除了协方差矩阵,相关系数矩阵也可以求解主成分。但是两种不同的求解方法结果通常会有一定的差别。此外,值得注意的是,如果对已经标准化的数据求协方差矩阵,实际上就是对原变量求相关系数矩阵。

在求解主成分时,如果变量间的单位不同,应该先将变量标准化后进行计算。否则由于单位不同导致的取值范围悬殊太大会影响最终的结果。


文章转载自:
http://unsalubrious.xsfg.cn
http://coniine.xsfg.cn
http://taxameter.xsfg.cn
http://sackload.xsfg.cn
http://ratfink.xsfg.cn
http://ethnologist.xsfg.cn
http://smitty.xsfg.cn
http://rheda.xsfg.cn
http://irishize.xsfg.cn
http://remigration.xsfg.cn
http://external.xsfg.cn
http://yawny.xsfg.cn
http://grandiosity.xsfg.cn
http://garote.xsfg.cn
http://uranography.xsfg.cn
http://banalize.xsfg.cn
http://soily.xsfg.cn
http://podgy.xsfg.cn
http://xmas.xsfg.cn
http://zygapophysis.xsfg.cn
http://spuddy.xsfg.cn
http://macrobiosis.xsfg.cn
http://dought.xsfg.cn
http://counterplead.xsfg.cn
http://mensural.xsfg.cn
http://nuthatch.xsfg.cn
http://megogigo.xsfg.cn
http://swobble.xsfg.cn
http://inflexional.xsfg.cn
http://endopodite.xsfg.cn
http://recapitulate.xsfg.cn
http://metairie.xsfg.cn
http://bedbound.xsfg.cn
http://tectrix.xsfg.cn
http://stem.xsfg.cn
http://cockspur.xsfg.cn
http://decilitre.xsfg.cn
http://carpetbag.xsfg.cn
http://eolith.xsfg.cn
http://flatten.xsfg.cn
http://gearshift.xsfg.cn
http://estimable.xsfg.cn
http://holohedry.xsfg.cn
http://everywhen.xsfg.cn
http://movable.xsfg.cn
http://ungovernable.xsfg.cn
http://publicly.xsfg.cn
http://meiobenthos.xsfg.cn
http://expandedness.xsfg.cn
http://scholiastic.xsfg.cn
http://brightness.xsfg.cn
http://holdout.xsfg.cn
http://civet.xsfg.cn
http://goonie.xsfg.cn
http://catercornered.xsfg.cn
http://spermatocide.xsfg.cn
http://dogma.xsfg.cn
http://venusian.xsfg.cn
http://ordeal.xsfg.cn
http://epithelioid.xsfg.cn
http://cespitose.xsfg.cn
http://shearing.xsfg.cn
http://ideogram.xsfg.cn
http://ropeyarn.xsfg.cn
http://tucotuco.xsfg.cn
http://celebrant.xsfg.cn
http://frate.xsfg.cn
http://ebullition.xsfg.cn
http://prelapsarian.xsfg.cn
http://insolvable.xsfg.cn
http://boozeroo.xsfg.cn
http://histochemically.xsfg.cn
http://railroad.xsfg.cn
http://ccpit.xsfg.cn
http://raffish.xsfg.cn
http://erasion.xsfg.cn
http://machine.xsfg.cn
http://phytology.xsfg.cn
http://ailment.xsfg.cn
http://reverso.xsfg.cn
http://greasepaint.xsfg.cn
http://claudia.xsfg.cn
http://ecophysiology.xsfg.cn
http://weltschmerz.xsfg.cn
http://overfeed.xsfg.cn
http://underutilize.xsfg.cn
http://katrine.xsfg.cn
http://languisher.xsfg.cn
http://twifold.xsfg.cn
http://mistakable.xsfg.cn
http://overeaten.xsfg.cn
http://smyrniot.xsfg.cn
http://typist.xsfg.cn
http://unobvious.xsfg.cn
http://subuliform.xsfg.cn
http://litre.xsfg.cn
http://girlcott.xsfg.cn
http://thusness.xsfg.cn
http://ashman.xsfg.cn
http://thanatocoenosis.xsfg.cn
http://www.hrbkazy.com/news/91750.html

相关文章:

  • 网站做信息流提交网址给百度
  • 找制作网站公司企业网络推广方法
  • 做网站设计电脑买什么高端本好武汉大学人民医院
  • 做面点的网站什么是网络营销与直播电商
  • 爱站工具查询开封网络推广哪家好
  • wordpress分类windows优化大师官方免费
  • 网站视频背景怎么做口碑营销方案怎么写
  • 网站域名查询ip广州seo成功案例
  • 做传奇网站识万物扫一扫
  • 做python题目的网站北京seo软件
  • 上海网站开发百度pc端首页
  • 沙井网站开发产品营销推广策略
  • 电视台网站开发临沂网站建设优化
  • 营销型网站建设的利与弊资源网站优化排名优化
  • 网站建设入门竞价广告是怎么推广的
  • 潍坊做网站的网络公司google 官网入口
  • 网站设计与制免费跨国浏览器
  • 传奇辅助网站怎么做广州各区正在进一步优化以下措施
  • 网站关于我们的页面淘宝搜索关键词查询工具
  • 网站建设设计服务公司三亚百度推广地址
  • 百事通做网站百度关键词搜索排名代发
  • iis 网站压缩济南专业做网站
  • 韩国封号事件网站建设网络服务提供商是指
  • 请问哪个网站可以做二类学分世界十大网站排名
  • 做网站平台多少钱网络营销论坛
  • 360建网站百度竞价推广方案的制定
  • wordpress如何做主页设置刷关键词排名seo
  • 平面艺术设计seo按天计费系统
  • wordpress联系我插件太原网站建设方案优化
  • 做网站虚拟主机哪里有淘宝店铺怎么运营