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

网站安全建设需求百度搜索网站提交

网站安全建设需求,百度搜索网站提交,石家庄app制作,菏泽网站建设报价可以看看这个哦python入门#xff1a;Anaconda和Jupyter notebook的安装与使用_菜菜笨小孩的博客-CSDN博客 如果你学会了python 可以看看matlab的哦 主成分分析#xff08;PCA#xff09;及其可视化——matlab_菜菜笨小孩的博客-CSDN博客 目录 一、主成分分析的原理 二… 可以看看这个哦python入门Anaconda和Jupyter notebook的安装与使用_菜菜笨小孩的博客-CSDN博客 如果你学会了python 可以看看matlab的哦 主成分分析PCA及其可视化——matlab_菜菜笨小孩的博客-CSDN博客 目录 一、主成分分析的原理 二、主成分分析步骤 1.主成分分析的步骤 2.部分说明 1球形检验Bartlett) 2KMOKaiser-Meyer-Olkin)统计量 3主成分分析的逻辑框图  三、所用到的库 factor_analyzer库 四、案例实战  1.数据集 2.导入库 3.读取数据集 4.进行球状检验 5.KMO检验 6.求相关矩阵 1数据标准化做法 1.进行标准化 2.求相关系数矩阵 ​ 3.求解特征值和特征向量 2数据不标准化做法 1.求均值 2.查看列数和行数 3.写出同数据集一样的均值矩阵 4.对数据集进行去中心化 5.计算协方差阵 6.计算协方差阵的特征值和特征向量 7.对特征值进行排序并输出  降序 8.绘制散点图和折线图  9.求特征值的贡献度  10.求特征值的累计贡献度 11.选出主成分 12.选出主成分对应的特征向量矩阵 13.求主成分得分 14.绘制热力图 完整代码 总结 一、主成分分析的原理 主成分分析是利用降维的思想在损失很少信息的前提下把多个指标转化为几个综合指标的多元统计方法。通常把转化生成的综合指标称之为主成分其中每个主成分都是原始变量的线性组合且各个主成分之间互不相关这就使得主成分比原始变量具有某些更优越的性能。这样在研究复杂问题时就可以只考虑少数几个主成分而不至于损失太多信息从而更容易抓住主要矛盾揭示事物内部变量之间的规律性同时使问题得到简化提高分析效率。 主成分分析正是研究如何通过原来变量的少数几个线性组合来解释原来变量绝大多数信息的一种多元统计方法。 二、主成分分析步骤 1.主成分分析的步骤 1.根据研究问题选取初始分析变量 2.根据初始变量特性判断由协方差阵求主成分还是由相关阵求主成分数据标准化的话需要用系数相关矩阵数据未标准化则用协方差阵 3.求协差阵或相关阵的特征根与相应标准特征向量 4.判断是否存在明显的多重共线性若存在则回到第一步 5.主成分分析的适合性检验 6.得到主成分的表达式并确定主成分个数选取主成分 7.结合主成分对研究问题进行分析并深入研究。 2.部分说明 一组数据是否可以用主成分分析必须做适合性检验。可以用球形检验和KMO统计量检验。1球形检验Bartlett) 球形检验的假设 H0相关系数矩阵为单位阵即变量不相关 H1相关系数矩阵不是单位阵即变量间有相关关系 2KMOKaiser-Meyer-Olkin)统计量 KMO统计量比较样本相关系数与样本偏相关系数它用于检验样本是否适于作主成分分析。 KMO的值在0,1之间该值越大则样本数据越适合作主成分分析和因子分析。一般要求该值大于0.5方可作主成分分析或者相关分析。 Kaiser在1974年给出了经验原则 0.9以上       适合性很好 0.8~0.9        适合性良好 0.7~0.8        适合性中等 0.6~0.7        适合性一般 0.5~0.6        适合性不好 0.5以下       不能接受的         3主成分分析的逻辑框图  三、所用到的库 factor_analyzer库 1. pandas  pip instal pandas 2.numpy pip install numpy 3.matplotlib pip install matplotlib 四、案例实战  1.数据集 数据集aa.xls - 蓝奏云   不能直接分享csv文件 2.导入库 导入数据处理和分析所需要的库 # 数据处理 import pandas as pd import numpy as np# 绘图 import seaborn as sns import matplotlib.pyplot as plt 3.读取数据集 df pd.read_csv(rD:\桌面\aa.csv, encodinggbk, index_col0).reset_index(dropTrue) df 运行结果 4.进行球状检验 检验总体变量的相关矩阵是否是单位阵相关系数矩阵对角线的所有元素均为1,所有非对角线上的元素均为零即检验各个变量是否各自独立。 # Bartletts球状检验 from factor_analyzer.factor_analyzer import calculate_bartlett_sphericitychi_square_value, p_value calculate_bartlett_sphericity(df) print(chi_square_value, p_value) 运行结果 5.KMO检验 检查变量间的相关性和偏相关性取值在0-1之间KOM统计量越接近1变量间的相关性越强偏相关性越弱因子分析的效果越好。 # KMO检验 # 检查变量间的相关性和偏相关性取值在0-1之间KOM统计量越接近1变量间的相关性越强偏相关性越弱因子分析的效果越好。 # 通常取值从0.6开始进行因子分析 from factor_analyzer.factor_analyzer import calculate_kmokmo_all, kmo_model calculate_kmo(df) print(kmo_all) 运行结果 6.求相关矩阵 1数据标准化做法 1.进行标准化 用到了 preprocessing 库 怎么导入 from sklearn import preprocessing 标准化代码 df preprocessing.scale(df) df 结果 2.求相关系数矩阵 为了方面下面引用就和协方差阵的赋值符号一样了 covX np.around(np.corrcoef(df.T),decimals3) covX 运行结果 3.求解特征值和特征向量 featValue, featVec np.linalg.eig(covX.T) #求解系数相关矩阵的特征值和特征向量 featValue, featVec 运行结果 2数据不标准化做法 1.求均值 def meanX(dataX):return np.mean(dataX,axis0)#axis0表示依照列来求均值。假设输入list,则axis1 average meanX(df) average 运行结果 2.查看列数和行数 m, n np.shape(df) m,n 运行结果 3.写出同数据集一样的均值矩阵 data_adjust [] avgs np.tile(average, (m, 1)) avgs 运行结果 4.对数据集进行去中心化 data_adjust df - avgs data_adjust 运行结果 5.计算协方差阵 covX np.cov(data_adjust.T) #计算协方差矩阵 covX 运行结果 6.计算协方差阵的特征值和特征向量 featValue, featVec np.linalg.eig(covX) #求解协方差矩阵的特征值和特征向量 featValue, featVec 运行结果 下面的做法不再区分标不标准化了你上面用哪种都行  在这里仅拿为标准化做法的数据进行下面操作 7.对特征值进行排序并输出  降序 featValue sorted(featValue)[::-1] featValue 运行结果 8.绘制散点图和折线图  # 同样的数据绘制散点图和折线图 plt.scatter(range(1, df.shape[1] 1), featValue) plt.plot(range(1, df.shape[1] 1), featValue)# 显示图的标题和xy轴的名字 # 最好使用英文中文可能乱码 plt.title(Scree Plot) plt.xlabel(Factors) plt.ylabel(Eigenvalue)plt.grid() # 显示网格 plt.show() # 显示图形 运行结果 9.求特征值的贡献度  gx featValue/np.sum(featValue) gx 运行结果 10.求特征值的累计贡献度 lg np.cumsum(gx) lg 运行结果 11.选出主成分 #选出主成分 k[i for i in range(len(lg)) if lg[i]0.85] k list(k) print(k) 运行结果 12.选出主成分对应的特征向量矩阵 selectVec np.matrix(featVec.T[k]).T selectVeselectVec*(-1) selectVec 运行结果 13.求主成分得分 finalData np.dot(data_adjust,selectVec) finalData 运行结果 14.绘制热力图 # 绘图plt.figure(figsize (14,14)) ax sns.heatmap(selectVec, annotTrue, cmapBuPu)# 设置y轴字体大小 ax.yaxis.set_tick_params(labelsize15) plt.title(Factor Analysis, fontsizexx-large)# 设置y轴标签 plt.ylabel(Sepal Width, fontsizexx-large) # 显示图片 plt.show()# 保存图片 # plt.savefig(factorAnalysis, dpi500) 运行结果 完整代码 # 数据处理 import pandas as pd import numpy as np# 绘图 import seaborn as sns import matplotlib.pyplot as pltdf pd.read_csv(rD:\桌面\aa.csv, encodinggbk, index_col0).reset_index(dropTrue) print(df)# Bartletts球状检验 from factor_analyzer.factor_analyzer import calculate_bartlett_sphericitychi_square_value, p_value calculate_bartlett_sphericity(df) print(chi_square_value, p_value)# KMO检验 # 检查变量间的相关性和偏相关性取值在0-1之间KOM统计量越接近1变量间的相关性越强偏相关性越弱因子分析的效果越好。 # 通常取值从0.6开始进行因子分析 from factor_analyzer.factor_analyzer import calculate_kmokmo_all, kmo_model calculate_kmo(df) print(kmo_all)# #标准化# #所需库 # from sklearn import preprocessing # #进行标准化 # df preprocessing.scale(df) # print(df)# #求解系数相关矩阵 # covX np.around(np.corrcoef(df.T),decimals3) # print(covX)# #求解特征值和特征向量 # featValue, featVec np.linalg.eig(covX.T) #求解系数相关矩阵的特征值和特征向量 # print(featValue, featVec)#不标准化 #均值 def meanX(dataX):return np.mean(dataX,axis0)#axis0表示依照列来求均值。假设输入list,则axis1 average meanX(df) print(average)#查看列数和行数 m, n np.shape(df) print(m,n)#均值矩阵 data_adjust [] avgs np.tile(average, (m, 1)) print(avgs)#去中心化 data_adjust df - avgs print(data_adjust)#协方差阵 covX np.cov(data_adjust.T) #计算协方差矩阵 print(covX)#计算协方差阵的特征值和特征向量 featValue, featVec np.linalg.eig(covX) #求解协方差矩阵的特征值和特征向量 print(featValue, featVec)####下面没有区分########对特征值进行排序并输出 降序 featValue sorted(featValue)[::-1] print(featValue)#绘制散点图和折线图 # 同样的数据绘制散点图和折线图 plt.scatter(range(1, df.shape[1] 1), featValue) plt.plot(range(1, df.shape[1] 1), featValue)# 显示图的标题和xy轴的名字 # 最好使用英文中文可能乱码 plt.title(Scree Plot) plt.xlabel(Factors) plt.ylabel(Eigenvalue)plt.grid() # 显示网格 plt.show() # 显示图形#求特征值的贡献度 gx featValue/np.sum(featValue) print(gx)#求特征值的累计贡献度 lg np.cumsum(gx) print(lg)#选出主成分 k[i for i in range(len(lg)) if lg[i]0.85] k list(k) print(k)#选出主成分对应的特征向量矩阵 selectVec np.matrix(featVec.T[k]).T selectVeselectVec*(-1) print(selectVec)#主成分得分 finalData np.dot(data_adjust,selectVec) print(finalData)#绘制热力图plt.figure(figsize (14,14)) ax sns.heatmap(selectVec, annotTrue, cmapBuPu)# 设置y轴字体大小 ax.yaxis.set_tick_params(labelsize15) plt.title(Factor Analysis, fontsizexx-large)# 设置y轴标签 plt.ylabel(Sepal Width, fontsizexx-large) # 显示图片 plt.show()# 保存图片 # plt.savefig(factorAnalysis, dpi500) 总结 几经周转终于完成了matlab和python的主成分分析也学到了很多也体会到了完成时的成就感 本文中遇到的问题矩阵相乘只能两两相乘索引方式区别于matlab但也有很多库类似比如 cumsum python需调用numpy库使用等等如果本文有错误请大家多多指正谢谢
http://www.pierceye.com/news/653/

相关文章:

  • 网站建设基础服务报价wordpress转换为中文版
  • 正保建设工程网站wordpress换主题链接
  • 许昌市建设局网站网站制作设计机构
  • 平面设计国外网站免费正能量不良网站推荐
  • 网站服务内容填网站建设可以自适应网站开发文字大小如何处理
  • 有字库wordpress山西seo排名
  • 建站广告赚钱新开传奇网站超变
  • 如何让网站自适应屏幕怎么搭建小程序平台
  • 网站建设的费用报价wordpress主题函数
  • 建设局网站新闻网页培训
  • 人工智能网站建设免费网络连接软件
  • 微营销是什么意思seo网站案例
  • 前端网站开发总结cc wordpress
  • 直播网站建设重庆沧州建设局网站
  • 企业在网站建设后期需要做什么洛阳霞光做网站
  • 重庆市建设工程安全网站深圳餐饮网站建设
  • 海南旅游网站建设方式p2p网站开发的流程图
  • 南平建设网站wordpress手机端和pc端兼容
  • 做本地的门户网站代刷网站开发
  • 个人成立公司怎么做企业网站做网站备案 空间是什么意思
  • 那个公司做的网站详情页好看网站营销费用
  • 电白建设局网站网站建设的一些名词
  • 如何建立公司企业网站中国风网站怎么配色
  • 上海网站制作上海网站制作平面设计软件网站
  • 中国建设信用卡积分兑换网站网站建设百科
  • 公司做百度网站要多少钱wordpress 端口
  • 合肥做网站工作室微信开放平台登录入口
  • 南宁seo网站建设费用wordpress全站美化
  • 做网站在图片里加文字地方型旅游网站
  • 建设银行遵义分行网站网易企业邮箱登入入口