PCA(Principal components analysis)也称主成分分析,是机器学习中降维的一种方法
本例使用数据集简介:以鸢尾花的特征作为数据,共有数据集包含150个数据集,
分为3类setosa(山鸢尾), versicolor(变色鸢尾), virginica(维吉尼亚鸢尾)
每类50个数据,每条数据包含4个属性数据 和 一个类别数据.
本例通过这150个数据来演示降维后的最维效果,
因为每个鸢尾花的特征数据有4个属性,我们想看这150点的分布情况没办法绘制图像
因此我们可以通过PCA降维,4维属性降为2维,就可以在二维平面上表示出来。
在最后plt出图时点的分布的界线还是比较清晰的,其实最后的这个二维平面散点图,也可以帮助理解KNN算法
数据比较多,不太容易看出数据差别
如果想从数据变化上理解PCA降维,及更详细的PCA计算流程
点击查看 机器学习(3.1)--PCA降维基本原理
同时有另一篇文章同样使用鸢尾花的特征作为数据,实现邻近算法(KNN)
本例使用数据集简介:以鸢尾花的特征作为数据,共有数据集包含150个数据集,
分为3类setosa(山鸢尾), versicolor(变色鸢尾), virginica(维吉尼亚鸢尾)
每类50个数据,每条数据包含4个属性数据 和 一个类别数据.
本例通过这150个数据来演示降维后的最维效果,
因为每个鸢尾花的特征数据有4个属性,我们想看这150点的分布情况没办法绘制图像
因此我们可以通过PCA降维,4维属性降为2维,就可以在二维平面上表示出来。
在最后plt出图时点的分布的界线还是比较清晰的,其实最后的这个二维平面散点图,也可以帮助理解KNN算法
数据比较多,不太容易看出数据差别
如果想从数据变化上理解PCA降维,及更详细的PCA计算流程
点击查看 机器学习(3.1)--PCA降维基本原理
同时有另一篇文章同样使用鸢尾花的特征作为数据,实现邻近算法(KNN)
# -*- coding:utf-8 -*-
data='''5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3.4,1.4,0.3,Iris-setosa
5.0,3.4,1.5,0.2,Iris-setosa
4.4,2.9,1.4,0.2,Iris-setosa
4.9,3.1,1.5,0.1,Iris-setosa
5.4,3.7,1.5,0.2,Iris-setosa
4.8,3.4,1.6,0.2,Iris-setosa
4.8,3.0,1.4,0.1,Iris-setosa
4.3,3.0,1.1,0.1,Iris-setosa
5.8,4.0,1.2,0.2,Iris-setosa
5.7,4.4,1.5,0.4,Iris-setosa
5.4,3.9,1.3,0.4,Iris-setosa
5.1,3.5,1.4,0.3,Iris-setosa
5.7,3.8,1.7,0.3,Iris-setosa
5.1,3.8,1.5,0.3,Iris-setosa
5.4,3.4,1.7,0.2,Iris-setosa