找传奇、传世资源到传世资源站!

python实现对Iris数据和Sonar数据的fisher线性判别分类

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

python实现对Iris数据和Sonar数据的fisher线性判别分类python实现对Iris数据和Sonar数据的fisher线性判别分类 Python-第1张

defFisher(X1,X2,n,c):# 计算三类样本的类均值向量m1=(np.mean(X1,axis=0))m2=(np.mean(X2,axis=0))m1=m1.reshape(n,1) # 将行向量转换为列向量以便于计算m2=m2.reshape(n,1)#计算类内离散度矩阵S1=np.zeros((n,n)) # m1 = within_class_scatter_matrix1S2=np.zeros((n,n)) # m2 = within_class_scatter_matrix2ifc==0: # 第一种情况foriinrange(0,96):S1 = (X1[i].reshape(n,1)-m1).dot((X1[i].reshape(n,1)-m1).T)foriinrange(0,111):S2 = (X2[i].reshape(n,1)-m2).dot((X2[i].reshape(n,1)-m2).T)ifc==1:foriinrange(0,97):S1 = (X1[i].reshape(n,1)-m1).dot((X1[i].reshape(n,1)-m1).T)foriinrange(0,110):S2 = (X2[i].reshape(n,1)-m2).dot((X2[i].reshape(n,1)-m2).T)#计算总类内离散度矩阵S_wS_w=S1 S2#计算最优投影方向 WW=np.linalg.inv(S_w).dot(m1-m2)#在投影后的一维空间求两类的均值m_1= (W.T).dot(m1)m_2= (W.T).dot(m2)#计算分类阈值 W0(为一个列向量)W0=-0.5*(m_1 m_2)returnW,W0

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复