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

呼伦贝尔北京网站建设高端设计图网站

呼伦贝尔北京网站建设,高端设计图网站,网站顶部广告代码,做网站需要具备什么语言机器学习#xff1a;基于主成分分析#xff08;PCA#xff09;对数据降维 作者#xff1a;AOAIYI 作者简介#xff1a;Python领域新星作者、多项比赛获奖者#xff1a;AOAIYI首页 #x1f60a;#x1f60a;#x1f60a;如果觉得文章不错或能帮助到你学习#xff0c;可…机器学习基于主成分分析PCA对数据降维 作者AOAIYI 作者简介Python领域新星作者、多项比赛获奖者AOAIYI首页 如果觉得文章不错或能帮助到你学习可以点赞收藏评论关注哦 如果有小伙伴需要数据集和学习交流文章下方有交流学习区一起学习进步 专栏案例机器学习机器学习基于逻辑回归对某银行客户违约预测分析机器学习学习k-近邻KNN模型建立、使用和评价机器学习基于支持向量机SVM进行人脸识别预测决策树算法分析天气、周末和促销活动对销量的影响机器学习线性回归分析女性身高与体重之间的关系文章目录机器学习基于主成分分析PCA对数据降维一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.数据准备2.PCA分析3.查看主成分的解释能力4.主成分轴Principal Axes的可视化5.基于PCA的降维6.降维处理7.PCA逆向处理8.使用digits.data训练PCA模型并将结果可视化总结一、实验目的 1、了解数据降维的各种算法原理 2、熟练掌握sklearn.decomposition中降维方法的使用 二、实验原理 主成分分析算法Principal Component Analysis PCA的目的是找到能用较少信息描述数据集的特征组合。它意在发现彼此之间没有相关性、能够描述数据集的特征确切说这些特征的方差跟整体方差没有多大差距这样的特征也被称为主成分。这也就意味着借助这种方法就能通过更少的特征捕获到数据集的大部分信息。 主成分分析原理 设法将原来变量重新组合成一组新的相互无关的几个综合变量同时根据实际需要从中可以取出几个较少的总和变量尽可能多地反映原来变量的信息的统计方法叫做主成分分析或称主分量分析也是数学上处理降维的一种方法。主成分分析是设法将原来众多具有一定相关性比如P个指标重新组合成一组新的互相无关的综合指标来代替原来的指标。通常数学上的处理就是将原来P个指标作线性组合作为新的综合指标。最经典的做法就是用F1选取的第一个线性组合即第一个综合指标的方差来表达即VarF1越大表示F1包含的信息越多。因此在所有的线性组合中选取的F1应该是方差最大的故称F1为第一主成分。如果第一主成分不足以代表原来P个指标的信息再考虑选取F2即选第二个线性组合为了有效地反映原来信息F1已有的信息就不需要再出现在F2中用数学语言表达就是要求CovF1,F20则称F2为第二主成分依此类推可以构造出第三、第四……第P个主成分。 sklearn中主成分分析的模型 class sklearn.decomposition.PCA(n_componentsNone, copyTrue, whitenFalse, svd_solver’auto’, tol0.0, iterated_power’auto’, random_stateNone sklearn.decomposition.PCA参数介绍 接下来我们主要基于sklearn.decomposition.PCA类来讲解如何使用scikit-learn进行PCA降维。PCA类基本不需要调参一般来说我们只需要指定要降维到的维度或者希望降维后主成分的方差和占原始维度所有特征方差和的比例阈值就可以了。 现在我们介绍一下sklearn.decomposition.PCA的主要参数 n_components这个参数指定了希望PCA降维后的特征维度数目。最常用的做法是直接指定降维到的维度数目此时n_components是一个大于等于1的整数。当然我们也可以指定主成分的方差和所占的最小比例阈值让PCA类自己去根据样本特征方差来决定降维到的维度数此时n_components是一个(0,1]之间的浮点数。当然我们还可以将参数设置为mle此时PCA类会用MLE算法根据特征的方差分布情况自己去选择一定数量的主成分特征来降维。我们也可以使用默认值即不输入n_components此时n_componentsmin(样本数特征数)。 whiten判断是否进行白化。所谓白化就是对降维后的数据的每个特征进行归一化让方差都为1。对于PCA降维本身来说一般不需要白化。如果在PCA降维后有后续的数据处理动作可以考虑白化。默认值是False即不进行白化。 svd_solver即指定奇异值分解SVD的方法由于特征分解是奇异值分解SVD的一个特例一般的PCA库都是基于SVD实现的。有4个可以选择的值{‘auto’, ‘full’, ‘arpack’, ‘randomized’}。randomized’一般适用于数据量大数据维度多同时主成分数目比例又较低的PCA降维它使用了一些加快SVD的随机算法。full’则是传统意义上的SVD使用了scipy库中的实现。‘arpack’和’randomized’的适用场景类似区别是’randomized’使用的是scikit-learn中的SVD实现而’arpack’直接使用了scipy库的sparse SVD实现。默认是’auto’即PCA类会自己去权衡前面讲到的三种算法选择一个合适的SVD算法来降维。一般来说使用默认值就够了。 除了这些输入参数外有两个PCA类的成员值得关注。第一个是explained_variance_它代表降维后的各主成分的方差值。方差值越大则说明越是重要的主成分。第二个是explained_variance_ratio_它代表降维后的各主成分的方差值占总方差值的比例这个比例越大则越是重要的主成分。 三、实验环境 Python 3.9 Anaconda 4 Jupyter Notebook 四、实验内容 本实验介绍了主成分分析算法PCA并以实例验证 五、实验步骤 1.数据准备 1.导入所需的模块 import numpy as np import matplotlib.pyplot as plt import seaborn as sns;sns.set() %matplotlib inline 2.构建示例数据 #创建随机数生成器 rngnp.random.RandomState(1) Xnp.dot(rng.rand(2,2),rng.randn(2,200)).T plt.scatter(X[:,0],X[:,1]) plt.axis(equal) 如上所示第一组示例数据为一组样本量为200的随机的二维数组 2.PCA分析 1.导入 Scikit-Learn 中用于主成分分析的 PCA 模块构建一个主成分分析模型对象并进行训练。在这次构建中我们设定 PCA 函数的参数 n_components 为2这意味这我们将得到特征值最大的两个特征向量 from sklearn.decomposition import PCA pcaPCA(n_components2) #使用fit()方法拟合模型 pca.fit(X) n_components参数表示PCA算法中所要保留的主成分个数n也即保留下来的特征个数n 2.模型训练完成后 components_ 属性可以查看主成分分解的特征向量 print(pca.components_) 3.使用.shape方法查看矩阵形状 pca.components_.shape 4.使用type()方法查看pca.components_类型 type(pca.components_) 3.查看主成分的解释能力 1.explained_variance_代表降维后的各主成分的方差值。方差值越大则说明越是重要的主成分 pca.explained_variance_ 4.主成分轴Principal Axes的可视化 1.我们可以通过如下方式将主成分分析中的特征向量描绘出来下图中向量的起点为样本数据的均值 def draw_vector(v0,v1,axNone): ax ax or plt.gca() arrowpropsdict(linewidth2,shrinkA0,shrinkB0) ax.annotate(,v1,v0,arrowpropsarrowprops) #描绘数据 plt.scatter(X[:,0],X[:,1],alpha0.2) for length,vector in zip(pca.explained_variance_,pca.components_): v vector * 3 * np.sqrt(length) draw_vector(pca.mean_,pca.mean_ v) plt.axis(equal)5.基于PCA的降维 1.将n_components设置为1并使用fit()方法进行拟合 pcaPCA(n_components1) pca.fit(X)6.降维处理 1.将数据X转换成降维后的数据X_pca并打印X和X_pca的矩阵形状 X_pcapca.transform(X) print(original shape:,X.shape) print(transformed shape:,X_pca.shape)2.使用切片打印X的前十项 X[:10]3.使用切片打印X_pca的前十项 X_pca[:10]7.PCA逆向处理 1.将降维后的数据转换成原始数据 X_newpca.inverse_transform(X_pca) #描绘数据 plt.scatter(X[:,0],X[:,1],alpha0.2) plt.scatter(X_new[:,0],X_new[:,1],alpha0.8) plt.axis(equal) 8.使用digits.data训练PCA模型并将结果可视化 1.导入sklearn.datasets模块中的load_digits函数 from sklearn.datasets import load_digits digitsload_digits() #查看digits.data的矩阵形状 digits.data.shape 2.使用digits.data训练PCA模型并将结果可视化 pcaPCA().fit(digits.data) plt.plot(np.cumsum(pca.explained_variance_ratio_)) plt.xlabel(number of components) plt.ylabel(cumlative explained variance) 总结 主成分分析算法Principal Component Analysis PCA的目的是找到能用较少信息描述数据集的特征组合。它意在发现彼此之间没有相关性、能够描述数据集的特征确切说这些特征的方差跟整体方差没有多大差距这样的特征也被称为主成分。这也就意味着借助这种方法就能通过更少的特征捕获到数据集的大部分信息。
http://www.dnsts.com.cn/news/105782.html

相关文章:

  • 西安火车站建设吉林网站建设
  • 建设外贸购物网站安卓开发者平台
  • 白云手机网站建设江苏常州建设银行网站
  • 深圳网站设计公司排行wordpress 钩子列表
  • 青岛网站建设电话荷城网站制作公司
  • 广州个人做网站小程序商城开发公司哪个好
  • 东莞最好的网络公司找火速网络优化推广公司
  • 网站内页做友情链接买卖交易平台
  • 国外网站制作电影网站建设费用
  • 可以做渗透的网站网站建设 我们是专业的
  • 网站建设的维护工作如何把做的网站放到百度上
  • 网站开发的项目背景中国优秀网页设计
  • 德惠市城乡建设局网站《小城镇建设》》杂志社网站
  • 网站的优化公司wordpress 大网站
  • 苏州在线网站制作住房城乡建设厅网站准考证
  • 桂林建网站石家庄市建设工程信息网
  • 网站制作时如何分析竞争对手网站 not found
  • 做网站需要专业企业网站建设方法
  • 网站开发 免代码奉贤品牌网站建设
  • 网站管理员权限怎么设置成都网站建设公司电话
  • 做企业网的公司沈阳网站优化
  • 公网ip做网站访问不...课程网站建设简介
  • 贵州易广建设集团网站响应式网站设计规则
  • 怎么做网站流量统计分析北京装修设计师哪里找
  • 多多返利网站建设积分兑换商城网站建设
  • 营销型企业网站的类型杭州做外贸网站
  • 怎样做美食网站黄山旅游攻略自助游
  • 云之创网站建设长春好的做网站公司
  • 赣州市开发区建设局网站芜湖城建集团
  • 网站提交收录入口明企科技网站建设系统