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

phpcms 移动网站模板怎么做个人网页

phpcms 移动网站模板,怎么做个人网页,一对一视频网站建设,恢复wordpress修订版本一、Numpy实现CSP公式及对应的代码 CSP全部流程#xff1a; 1、CSP先将数据按照类别分类#xff0c;两类数据可分为E1、E2 2、计算分类后的原始数据的协方差矩阵#xff1a; 方差矩阵#xff1a; C协方差矩阵#xff0c;E原始EEG信号#xff0c;trace求迹 实现代码 1、CSP先将数据按照类别分类两类数据可分为E1、E2 2、计算分类后的原始数据的协方差矩阵 方差矩阵 C协方差矩阵E原始EEG信号trace求迹 实现代码 1、定义了一个计算切好段的EEG数据的平均协方差矩阵的函数数据输入三维度N*C*T 2、然后使用一个空列表cov通过for循环对数据每个样本计算协方差矩阵并使用cov空列表保存计算的矩阵 知识点数组的转置a.T数组求迹np.trace() 3、最后先使用np.array()将列表cov转为numpy格式再用np.mean()计算cov中每个样本的协方差的均值在x轴上计算 4、返回cov平均协方差数组 2.2 求协方差矩阵cov的特征值特征向量 这里定义一个函数用于求cov的特征值和特征向量用于后面的正交白化变换需要的特征向量矩阵、特征值对角阵、特征值以上皆降序排列 代码 1、求要处理的目标样本的平均协方差记为avg_cov 2、使用np.linalg.eig()函数求avg_cov的特征值、特征向量 3、使用no.sort()对特征值进行升序排序再使用索引[::-1]设置为降序排序 4、使用np.argsort()函数求降序排列的特征值对应的索引输出 5、使用第四步求出的降序索引对特征值对应的特征向量进行降序排序 6、使用np.diag()求降序的特征向量对应的对角阵 补充numpy的线性代数函数 估计线性模型中的系数anp.linalg.lstsq(x,b),有ba*x 求方阵的逆矩阵np.linalg.inv(A) 求广义逆矩阵np.linalg.pinv(A) 求矩阵的行列式np.linalg.det(A) 解形如AXb的线性方程组np.linalg.solve(A,b) 求矩阵的特征值np.linalg.eigvalsA 求特征值和特征向量np.linalg.eig(A) Svd分解np.linalg.svd(A) 3、正交白化变换P: 在上一步函数中我们得到了每个类别的平均协方差对应的降序的特征值和特征向量在这里定义一个函数直接调用这两个值建立公式即可. 3.1 计算白化矩阵P P白化矩阵U c特征向量矩阵Λ c 特征值对角阵 代码: 1、使用numpy的linalg子模块的inv函数求特征值对角阵的逆 2、使用scipy的linalg子模块的sqrtm函数对矩阵开平方 注np.linalg子模块没有sqrt对元素开平方、sqrtm对矩阵开的功能 图解 3.2 为计算投影矩阵做准备 求出白化矩阵阵P后将P作用于脑电信号每一类别数据的平均协方差矩阵avg_cov()有 S P * avg_cov() * P.T 对应的公式 代码 求一个类别的S矩阵的2个不同顺序的特征向量 1、使用np.linalg.eig()函数求S一个类别的特征值λ,特征向量B 2、使用判断语句if从特征值λ中求两个大小相反顺序排列的索引idx 3、根据2个索引得到大小排列顺序不同的2个矩阵λ,B这里求特征矩阵的方式和2.2函数相同 4、计算投影矩阵W 对于特征向量B当一个类别的S1矩阵有最大特征值时此时另一个类别2分类的话应当有最小特征值因此可以使用矩阵B实现两分类问题可以得到 4.1 投影矩阵 4.2 计算投影矩阵W的特征矩阵Z 公式 Z 特征矩阵 W投影矩阵 E原始脑电数据 代码实现 1、建立一个空列表Z来保存后面处理好的数据 2、使用for循环在原始EEG数据矩阵E的第一个维度进行循环遍历 3、使用list.append()函数装入W * E[i]循环相乘的矩阵得到特征矩阵E 4、对E使用np.delete(array,obj,axis)函数,在横轴x上删除m-m之间的元素原因 算法生成的CSP特征矩阵E其信息不是等效的。特征信息主要集中在特征矩阵的头部和尾部而中间的特征信息不明显是可以忽略的所以选取m行和后m行数据作为CSP特征提取的最终特征矩阵E。 注意需要2mM 我看到也有人先对W这样做Z就不用做了但CSP原论文是对E做 其中np.s_[m:-m:0]作用 numpy中的c_、r_、s_不能称为函数它只是CClass类的一个实例而CClass是定义了切片方法__getitem__的类, 所以c_、r_、s_就可以对数组进行切片并按不同维度进行2个数组的链接 np.c_():切片并在y轴列链接 np.r_():切片并在x轴行链接 np.s_(x:y:z):生成python内置的 slice 函数并设置 (start, stop ,step) 参数例 4.3 计算矩阵Z的特征值并对其归一化 公式 代码 1、定义空列表nor_data用于存数据 2、for循环遍历特征矩阵Z的第一个维度 3、np.var()函数求Z的方差 4、np.sum()函数求方差和 5、np.log10()求var/varsum的log值 6、最后list.append()保存log值并np.array()转为数组 最终我们得到了原始EEG信号的投影矩阵的归一化的特征矩阵E的前m和后m行矩阵数据作为原始数据的输入特征 5、实现一个CSP的类吧~ 以上定义的函数用来Class一个CSP的类代码 import numpy as np from scipy.linalg import inv,sqrtm import torch from sklearn.svm import SVC,NuSVC,LinearSVC from sklearn.metrics import classification_report, accuracy_score from sklearn.model_selection import cross_val_score, GridSearchCV, KFold from numpy import * from sklearn.pipeline import make_pipeline from sklearn.discriminant_analysis import LinearDiscriminantAnalysis import matplotlib.pyplot as pltdef compute_cov(EEG_data):INPUT:EEG_data : EEG_data in shape T x N x SOUTPUT:avg_cov : covariance matrix of averaged over all trialscov []for i in range(EEG_data.shape[0]):cov.append(EEG_data[i]EEG_data[i].T/np.trace(EEG_data[i]EEG_data[i].T))cov np.mean(np.array(cov), 0)return cov # def Calculate_Covariance(data): # # Description: 计算原始EEG数据协方差矩阵: # ------------------------------- # Parameters: # data N * C * T # N:数据样本量 # C:EEG信号通道数 # T:每个通道包含的时间点 # return 每个样本的平均协方差矩阵 # # cov [] # for i in range(data.shape[0]): # cov.append((data[i] * data[i].T)/np.trace(data[i] * data[i].T))# cov np.mean(np.array(cov),axis0) # return covdef Comput_Cov(avg_cov):Description: 计算协方差矩阵的特征值、特征向量、特征值对角阵:-------------------------------Parameters:avg_cov 协方差矩阵return 降序的特征值对角阵、降序的特征向量feature_data,feature_matrix np.linalg.eig(avg_cov) feature_data_sort np.sort(feature_data)[::-1]feature_data_index np.argsort(feature_data)[::-1]feature_matrix_sort feature_matrix[:,feature_data_index]Diagonalize_feature np.diag(feature_data_sort)return feature_matrix_sort,Diagonalize_featuredef White_Matrix(feature_matrix_sort,Diagonalize_feature):Description: 求正交白化阵P-------------------------------Parameters:return pDiagonalize_feature_sqr sqrtm(np.linalg.inv(Diagonalize_feature))P Diagonalize_feature_sqrfeature_matrix_sort.Treturn Pdef Comput_S(avg_cov,white):Description: 求S矩阵: S P * C * P.T-------------------------------Parameters:return SS whiteavg_covwhite.Treturn Sdef Decomput_S(S_one_class,orderdescending):Description: 求S矩阵一类别不同顺序的两个特征向量:2个特征向量相同,但排列顺序不同-------------------------------Parameters:return B,λ λ,B np.linalg.eig(S_one_class)# Sort eigenvalues either descending or ascendingif order ascending:idx λ.argsort() # Use this index to sort eigenvector small - largestelif order descending:idx λ.argsort()[::-1] # Use this index to sort eigenvector largest - smallelse:print(input error)λ λ[idx]B B[:,idx]return λ,Bdef Projection_W(B,P):Description: 计算投影矩阵W B.T * P-------------------------------Parameters:return Wreturn (B.TP)def Comput_Z(W,E):Description: 计算投影矩阵W的特征矩阵Z-------------------------------Parameters:W.shape M * M |E.shape M * N | Z.shape M * N ||Z W * EN:电极数 | M:样本数 | m:W的前m行后m行return ZZ []for i in range(E.shape[0]):Z.append(WE[i])return np.array(np.delete(Z,np.s_[3:-3:1],0))def log_Z(Z):Description: 对特征矩阵Z归一化-------------------------------Parameters:nor_data.shape m * T return featnor_data []for i in range(Z.shape[0]):var np.var(Z[i],axis1)varsum np.sum(var)nor_data.append(np.log10(var/varsum))return np.array(nor_data)# class My_CSP(): # def __init__(self,m2): # super(My_CSP,self).__init__() # self.m m # self.M None# def fit(self,x_train,y_train): # #分类别E1E2 # x_train_left x_train[y_train0] # x_train_right x_train[y_train1] # # 计算协方差矩阵avg_cov # cov_left Calculate_Covariance(x_train_left) # cov_right Calculate_Covariance(x_train_right) # avg_cov cov_leftcov_right # # 计算白化变换矩阵P # eigval,eigve Comput_Cov(avg_cov) # P White_Matrix(eigval,eigve) # # 计算S矩阵S的两个不同排列顺序的特征向量 # S_left Comput_S(cov_left,P) # S_right Comput_S(cov_right,P)# S_left_val,S_left_ve Decomput_S(S_left,descending) # S_right_val,S_right_ve Decomput_S(S_right,ascending)# # 计算投影矩阵W # self.W Projection_W(S_left_ve,P)# def nor_Z(self,x_train): # # 计算投影矩阵的特征矩阵Z # Z_train Comput_Z(self.W,x_train,self.m) # norZ log_Z(Z_train)# return norZ# def fit_nor_Z(self,x_train,y_train): # self.fit(x_train,y_train) #类内调用fit方法 # fitnorZ self.nor_Z(x_train) #类内调用nor_Z方法# return fitnorZfrom sklearn import svm if __name__ __main__:#设置训练测试数据标签data np.random.rand(10,512,32)x_train_l datarandom.shuffle(data)x_train_r datax_test np.array([0])x_test np.repeat(x_test,3)y_test np.array([1])y_test np.repeat(y_test,3)x_train np.concatenate((x_train_l,x_train_r),axis0)y_train np.concatenate((x_test,y_test),axis0)# X_train torch.tensor(x_train)# Y_train torch.tensor(y_train)model_acc []model_std []cov_left compute_cov(x_train_l)cov_right compute_cov(x_train_r)avg_cov cov_leftcov_righteigval,eigve Comput_Cov(avg_cov)P White_Matrix(eigval,eigve)# 计算S矩阵S的两个不同排列顺序的特征向量S_left Comput_S(cov_left,P)S_right Comput_S(cov_right,P)S_left_val,S_left_ve Decomput_S(S_left,descending)S_right_val,S_right_ve Decomput_S(S_right,ascending)# 计算投影矩阵WW Projection_W(S_left_ve,P)# 计算投影矩阵的特征矩阵ZZ_train Comput_Z(W,x_train)norZ log_Z(Z_train)print(norZ.shape)#设置分类器model svm()model_acc.append(cross_val_score(model, norZ, y_train).mean()*100)model_std.append(cross_val_score(model, x_train, y_train).std()*100)model.get_params()#画图fig, ax plt.subplots(figsize(7, 3))plt.rcParams.update({font.size: 12})ax.set_title(Accuracy (%))ax.bar(np.arange(1, 10), model_acc, color#ffb152, yerrmodel_std, capsize3)ax.set(xticksnp.arange(1, 10), xlabelSubject, yticksnp.arange(0, 101, step10), ylabelAccuracy,title5-fold Cross Validation Result)ax.grid(axisy, alpha0.5)plt.savefig(5fold_train_result.jpg)plt.show()# csp My_CSP()# clf make_pipeline([(CSP, csp), (SVC, lda)]) # 创建机器学习的Pipeline,也就是分类模型使用这种方式可以把特征提取和分类统一整合到了clf中# scores cross_val_score(clf, x_train, y_train, cv10) # 获取交叉验证模型的得分# My_CSP.fit(x_train,y_train)# lda.fit(x_train,y_train)# score_one []# score_one.append(lda.score(x_train, y_train))# print(score_one)
http://www.pierceye.com/news/324762/

相关文章:

  • 南宁手机建站公司新加坡网站后缀
  • 如何在建设部网站查询获奖情况如何申请电商网站
  • jsp网站访问万维网网站幻灯
  • 南通住房和城乡建设部网站首页安徽公司网站建设
  • 建筑论坛网站修改WordPress文章发布页面
  • 网站代备案系统seo优化服务是什么意思
  • 专门做选择题的网站一个网站seo做哪些工作
  • wordpress 多站点 拷贝中国建设银行春招网站
  • 门户营销型网站wordpress代码执行
  • 保山市建设厅网站做建筑机械网站那个网站好
  • 广告位网站建设国际人才网中山招聘网
  • 南昌市城市建设档案馆网站一个网站做无限关键词
  • wordpress特别卡 iis东莞推广优化公司
  • 做网站收入怎样开放平台登录
  • 外贸网站运营推广微信运营商
  • 国外做储物柜的网站做亚马逊网站一般发什么快递
  • 仿古建筑公司网站廊坊网站建设公司
  • 在线动画手机网站模板下载学软件开发需要什么基础
  • 北京的网站建设收费标准推广产品的方法和步骤
  • 北京市专业网站制作企业合肥做网络推广的公司
  • 网站建设php教程视频手机商城网站设计
  • 重庆网站建设公司哪个最好老家装设计网
  • 外贸网站建设产品crm公司
  • 网站做查赚钱网站建设捌金手指花总四
  • 有没有做链接的网站彩票型网站建设
  • 15年做哪个网站能致富网站界面设计的相关指南
  • 网站报价功能清单德州做网站最好的公司
  • 网站开发设计图片搭建论坛需要多少钱
  • 网站建设价格明细做一套二级域名网站怎么做
  • 网站建设 发展方向手机开发人员选项怎么打开