Fisher判别的推导概念和过程+python代码实现(三分类)

Helena ·
更新时间:2024-09-21
· 679 次阅读

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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号