python代码完成Fisher判别的推导一、Fisher算法的主要思想二、Fisher数学算法步骤①计算各类样本均值向量mim_imi,mim_imi是各个类的均值,NiN_iNi是wiw_iwi类的样本个数。②计算样本类内离散度矩阵SiS_iSi和总类内离散度矩阵SwS_wSw③计算样本类间离散度矩阵SbS_bSb④求投影方向向量 WWW (维度和样本的维度相同)。我们希望投影后,在一维YYY空间里各类样本尽可能分开,就是我们希望的两类样本均值之差(m1‾−m2‾)(\overline{m_1}-\overline{m_2})(m1−m2)越大越好,同时希望各类样本内部尽量密集,即是:希望类内离散度越小越好。因此,我们可以定义Fisher准则函数为:2使得JF(w)J_F(w)JF(w)取得最大值www为:⑤将训练集内所有样本进行投影。⑥. 计算在投影空间上的分割阈值y0y_0y0,在一维Y空间,各类样本均值mi‾\overline{m_i}mi为:⑦对于给定的测试样本xxx,计算出它在www上的投影点yyy⑧根据决策规则分类!三、python实现代码
数据集Iris.csv:链接下载:
提取码:eah8
一、Fisher算法的主要思想
线性判别分析(Linear Discriminant Analysis
简称LDA)是一种经典的线性学习方法,在二分类问题上因为最早由【Fisher,1936年】提出,所以也称为“Fisher 判别分析!”
Fisher(费歇)判别思想是投影,使多维问题简化为一维问题来处理。选择一个适当的投影轴,使所有的样本点都投影到这个轴上得到一个投影值。对这个投影轴的方向的要求是:使每一类内的投影值所形成的类内离差尽可能小,而不同类间的投影值所形成的类间离差尽可能大。
原创文章 46获赞 81访问量 6985
关注
私信
展开阅读全文
作者:w²大大
fisher
分类
三分
Python