Fisher 判别的变量转换方法,真的蛮适合用在 MATLAB 里搞定分类数据的。尤其是碰到那种名义变量想转成数值型做后续的场景,txform.m
就比较省心了。多分类问题也没压力,转换后的数据还能直接喂给回归或神经网络用,效率还挺高。
Fisher 的 LDA 算法,就是拿来做变量降维和分类优化的老牌方法。它的核心思路也简单:找一个投影方向,让不同类别尽量拉开距离,类内的保持紧凑。你把原来的分类变量扔进去,转出来的就是一组连续变量,可以直接当数值特征用,像txform.m
这种工具就帮你省了不少事。
实战里经常用在信用评估、医学诊断这些数据比较敏感的地方,模型对输入特征要求高,靠人工编码又累又容易错。而这个方法直接搞定,适合快速迭代。
哦对了,记得看下license.txt
,里面写了使用限制。用别人的代码,遵守规则是基本操作,是要放到商用项目里的话,别忽视了。
你要是对 Fisher 降维、分类变量转化感兴趣,可以顺着这几个资源看看:
- Fisher 判别法分类变量转换为定量变量 MATLAB 开发
- 基于 Fisher 线性判别(LDA)的分类案例数据集
- MATLAB 基于 Fisher 算法的分类程序代码
- LDA 分类 matlab 代码-OHSU-Capstone-2021
如果你平时用 MATLAB 做机器学习或者统计建模比较多,那这种变量转换的技巧建议早点掌握,模型效果能提升不少。