分类算法(2)

四、向量空间模型

1、向量空间模型概述

空间中具有大小和方向的量叫做空间向量 我们可以想象我们我们所分析的数据的每一个属性视为一个向量维度,我们输入的数据其实是某个高维向量空间中的一个点。很多基于向量空间的分类器在分类决策时用到距离的概念。

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

在二维和三维空间中的欧式距离的就是两点之间的距离,二维的公式是 d = sqrt((x1-x2)^2+(y1-y2)^2)

三维的公式是 d=sqrt(x1-x2)^2+(y1-y2)^2+(z1-z2)^2) 推广到n维空间

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

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

五、KNN分类器算法

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

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

分类算法(2)_第1张图片

如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那类;如果K=5,蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。 

1、KNN分类器算法

KNN算法需要确定K值、距离度量和分类决策规则 K值过小时,只有少量的训练样本对预测起作用,容易发生过拟合,或者受含噪声训练数据的干扰导致错误 K值过大,过多的训练样本对预测起作用,当不同类别样本数量不均衡时,结果偏向数量占优的样本

2、距离

距离度量在KNN中,通过计算对象间距离来作为各个对象之间的相似性指标,距离一般使用欧氏距离或曼哈顿距离:

f26d3ae87ed84157a27dc773cbe96c9a.png3、 KNN分类器算法步骤

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

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

3)选取距离最小的K个点;

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

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

4、KNN案例

#加载数据 
from sklearn import datasets iris = datasets.load_iris() 
#导入模型 
from sklearn.neighbors import KNeighborsClassifier 
knn = KNeighborsClassifier()

 

六、多类问题的分类

1、多类分类多类分类指一个样本属于且只属于多个类中的一个,一个样本只能属于一个类,不同类之间是互斥的

直接使用能直接处理多类问题的分类器

2、多标签分类

多标签分类(multilabel classification)又称,多标签学习、多标记学习,不同于多类分类,一个样本可以属于多个类别(或标签),不同类之间是有关联的。

多标签分类实现,将多标记学习问题转化为“标记排序( labelranking )问题求解,既对所有类别排序然后选出排名最高的类

多标签分类器 一种方法是,我们可以使用一个直接的置信度指标来对类别排序,比如,类别归属的概率

分类算法(2)_第2张图片

 

 

你可能感兴趣的:(分类,python)