【第四章】分类算法与应用(2)

4.4向量空间模型

1、向量空间模型

①空间向量:空间中具有大小和方向的量

我们可以想象我们我们所分析的数据的每一个属性视为一个向量维度,我们输入的数据其实

某个高维向量空间中的一个点

空间距离计算方法:欧氏距离(Euclidean distance)

二维的公式:d = sqrt((x1-x2)^2+(y1-y2)^2),三维的公式:d=sqrt(x1-x2)^2+(y1-y2)^2+(z1-z2)^2)

2、向量空间模型进行分类

在向量空间的分类中,我们必须要做的工作是定义类别之间的边界,从而得到分类的结果

4.5KNN算法

1、定义

K近邻(K Nearest Neighbors,KNN)算法,又称为KNN算法寻找与待分类的样本在特征空间中距离最近的K个已标记样本(即K个近邻),以这些样的标记为参考,通过投票等方式,将占比例最高的类别标记赋给待标记样本

K面通过一个简单的例子说明一下:如下图,绿色圆要被决定赋予哪个类,是红色三角形还是蓝

色四方形?

【第四章】分类算法与应用(2)_第1张图片

 如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那类

如果K=5,蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类

2、步骤

①计算测试数据与各个训练数据之间的距离;

②按照距离的递增关系进行排序;

③选取距离最小的K个点;

④确定前K个点所在类别的出现频率;

⑤返回前K个点中出现频率最高的类别作为测试数据的预测分类。

3、代码

加载数据

from sklearn import datasets

iris = datasets.load_iris()

导入模型

from sklearn.neighbors import KNeighborsClassifier

knn = KNeighborsClassifier()

你可能感兴趣的:(数据挖掘与机器学习,分类,算法)