本系列主要采用Python-sklearn实现,环境搭建可参考 数据挖掘入门:Python开发环境搭建(eclipse-pydev模式).
相关答案和源代码托管在我的Github上:PnYuan/Machine-Learning_ZhouZhihua.
3.5 编程实现线性判别分析(LDA)
本题采用题3.3中的西瓜数据集如下图示:
这里采用基于sklearn和自己编程实现两种方式实现线性判别分析(查看完整代码)。
关于数据集的介绍:
具体过程如下:
1. 数据导入、可视化、预分析:
可以参照周志华《机器学习》课后习题解答系列(四):Ch3.3 - 编程实现对率回归中的第一步。
2. 采用sklean得到线性判别分析模型:
采用sklearn.discriminant_analysis.LinearDiscriminantAnalysis直接实现基础的LDA,通过分割数据集,在训练集上训练数据,在预测集上度量模型优劣。
给出样例代码如下:
from sklearn import model_selection
from