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

全媒体网站的建设刚刚北京发生大事了

全媒体网站的建设,刚刚北京发生大事了,网站建设掌握技能,打开网站弹出qq目录 简单介绍 代码实现 数据集划分 选择因子个数 模型训练并分类 调用函数 简单介绍 #xff08;此处取自各处资料#xff09; PLS-DA既可以用来分类#xff0c;也可以用来降维#xff0c;与PCA不同的是#xff0c;PCA是无监督的#xff0c;PLS-DA是有监督的…目录 简单介绍 代码实现 数据集划分 选择因子个数 模型训练并分类 调用函数 简单介绍 此处取自各处资料     PLS-DA既可以用来分类也可以用来降维与PCA不同的是PCA是无监督的PLS-DA是有监督的。与PCA不同PCA是无监督,PLS是“有监督”模式的偏最小二乘法分析当样本组间差异大而组内差异小时无监督分析方法可以很好的区分组间差异。反之样本组间差异不大无监督的方法就难以区分组间差异。另外如果组间的差异较小各组的样本量相差较大样本量大的那组将会主导模型。有监督的分析PLS-DA能够很好的解决这些问题。也就是在分析数据时已知样本的分组关系这样可以更好的选择区分各组的特征变量确定样本之间的关系。DA是判别分析PLS-DA用偏最小二乘回归的方法在对数据“降维”的同时建立了回归模型并对回归结果进行判别分析。 本文主要是基于PLS的分类展开。 代码实现 主要参考了这位大佬的: https://zhuanlan.zhihu.com/p/374412915 数据集划分 首先要把数据集处理成一定的格式也就是把自变量和因变量搞清楚做好数据集的分割然后传回。 def deal_data(path):# 读取自变量和因变量构成的数据矩阵,类别y放最后一列,前面均为xspec pd.read_excel(path)spec np.array(spec) # 直接转化为numpy类型x spec[:, 0:-1] # 前面的列均为自变量y spec[:,-1]# 先做一个数据集的划分train_X, test_X, train_y, test_y train_test_split(x, y, test_size0.2)return train_X, test_X, train_y, test_y 选择因子个数 PLS类似于PCA是有成分这么一个说法的不同的成分个数最终得到的效果也不一样因此我们对于不同的成分个数均进行训练然后进行交叉验证观察不同成分个数的表现从而选择合适的个数。 def accuracy_component(xc, xv, yc, yv, component8, n_fold5):# xc表示训练集,xv表示测试集,yc表示训练标签,yv表示测试标签,component表示最多个数,n_fold表示分为几组样本(每次一组作为测试集,交叉验证)k_range np.linspace(start1, stopcomponent, numcomponent)kf KFold(n_splitsn_fold, random_stateNone, shuffleTrue) # n_splits表示要分割为多少个K子集,交叉验证需要accuracy_validation np.zeros((1, component)) # 用于存储各个成分数的测试平均精准度accuracyaccuracy_train np.zeros((1, component)) # 用于存储各个成分数的训练平均精准度accuracyfor j in range(component): # j∈[0,component-1],j1∈[1,component]p 0acc 0 # acc表示总的精准度,p表示个数,acc/p平均精确度# 下面是普通训练model_pls PLSRegression(n_componentsj 1) # 此时选择component个成分yc_labels pd.get_dummies(yc)model_pls.fit(xc, yc_labels)y_pred model_pls.predict(xv)y_pred np.array([np.argmax(i) for i in y_pred])accuracy_train[:, j] accuracy_score(yv, y_pred) # 这是直接训练的# 下面是交叉验证for train_index, test_index in kf.split(xc): # 进行n_fold轮交叉验证# 划分数据集X_train, X_test xc[train_index], xc[test_index]y_train, y_test yc[train_index], yc[test_index]YC_labels pd.get_dummies(y_train) # 训练数据结果独热编码model_1 PLSRegression(n_componentsj 1)model_1.fit(X_train, YC_labels)Y_pred model_1.predict(X_test)Y_pred np.array([np.argmax(i1) for i1 in Y_pred]) # 独热编码转化成类别变量acc accuracy_score(y_test, Y_pred) accp p 1accuracy_validation[:, j] acc / p # 计算j1个成分的平均精准度# 首先对于每个component数训练一个模型,然后利用测试集得出准确率print(模型训练的准确率)print(accuracy_train)# 然后对样本的训练集进行交叉验证print(交叉验证的平均准确率)print(accuracy_validation)plt.plot(k_range, accuracy_train.T, o-, labelTraining, colorr)plt.plot(k_range, accuracy_validation.T, o-, labelCross-validation, colorb)plt.xlabel(N components)plt.ylabel(Score)plt.legend(locbest) # 选取最佳位置标注图注plt.rc(font, familyTimes New Roman)plt.rcParams[font.size] 10plt.show()return accuracy_validation, accuracy_train 下面是运行效果因为数据是乱造的所以参数就不用关注了这样来看的话三到四个因子效果还不错。 模型训练并分类 下面就是选择合适的成分个数进行分类得到混淆矩阵和一些参数指标。 def PLS_DA(train_X, test_X, train_y, test_y):# 建模model PLSRegression(n_components6)train_y pd.get_dummies(train_y)model.fit(train_X, train_y)# 预测y_pred model.predict(test_X)# 将预测结果类别矩阵转换为数值标签y_pred np.array([np.argmax(i) for i in y_pred])# 模型评价---混淆矩阵和精度print(测试集混淆矩阵为\n, confusion_matrix(test_y, y_pred))print(平均分类准确率为\n, accuracy_score(test_y, y_pred))运行效果至少比乱分类的33%正确率要高。 调用函数 以上都是各个组件最后需要一个主函数调用串联起来如下    建议分步调用也便于问题的发现和处理。 max_component 8 # 迭代最大成分数 n_fold 10 # 交叉验证次数 excel_path ./data.xlsx # 数据集地址 if __name__ __main__:train_X, test_X, train_y, test_y deal_data(excel_path) # 处理数据,返回处理完的训练和测试集,具体情况具体分析# accuracy_component(train_X, test_X, train_y, test_y, max_component, n_fold)PLS_DA(train_X, test_X, train_y, test_y,n_components3)
http://www.tj-hxxt.cn/news/133063.html

相关文章:

  • 指定词整站优化做软件界面一般用什么软件
  • 永久免费网站服务器建设项目自主验收网站
  • 监测网站空白栏目商贸有限公司取名免费
  • 有什么办法做自己的网站数据分析网
  • 网站首页的logo这么修改怎么做自己的手机网站
  • 自己如何创建网站wordpress发视频教程
  • 吴江做招聘的网站做网站需要好多图片
  • 门户网站建设好如何维护品牌网站建设联系方式
  • 泰坦科技网站建设个人网站怎么建立步骤
  • 网站开发计划甘特图公司背景墙logo设计
  • 四川法制建设网站做网站干什么用
  • 为网站开发软件公司管理系统框架
  • 企业内部管理系统网站建设潍坊vi设计公司
  • dede模板用图片多的网站不行长春 餐饮 网站建设
  • 河南建设信息港网站查询百度点击软件名风
  • 十堰微网站建设价格国内wordpress大神
  • 做的好的h游戏下载网站有哪些观澜做网站公司
  • 怎么做外贸企业网站wordpress虚拟阅读
  • vue做的网站大全广东建设网站首页
  • 有哪些网站有收录做红酒的商行游戏推广引流
  • 服务器建站教程网站seo哪家做的好
  • 陕西企业网站建设价格hexo 导入 wordpress
  • 怎么查看网站有没有做推广网站关键词搜索排名
  • 如何使用微信公众号做网站嘉兴网络公司变更
  • 建设银行黄陂支行网站国际货代做网站
  • 专业做网站多少钱商城网站建设第一章
  • 甘肃城乡建设局安全质量网站棋牌源码交易商城
  • 我的世界做封面网站北京门头沟山洪暴发
  • 做网站后端要什么技术推广app赚佣金平台有哪些
  • 个人网站空间怎么做centum wordpress