自已写代码逐步实现LDA,对于理解LDA内部的工作原理及其与PCA的差别是一种很好的体验。下面,我们来看看scikit-learn中对LDA类的实现:
接下来,在将训练数据通过LDA进行转换后,我们来看一下逻辑斯谛回归在相对低维数据上的表现:
从结果图像中可以看到,逻辑斯谛回归模型只错误地判断了类别2中的一个样本:
通过降低正则化强度,我们或许可以对决策边界进行调整,以使得逻辑斯谛回归模型可以正确地对训练数据进行分类。下面,我们再来看一下模型在测试数据集上的效果:
正如从结果图像中看到的那样,当我们使用只有两维的特征子空间来替代原始数据集中的13个葡萄酒特征时,逻辑斯谛回归在测试数据集上对样本的分类结果可谓完美: