0A03 无监督学习:支持向量机

优点:适合小样本数量,高特征维度的数据

目标:达到二值分类的目的

选择超平面的依据:

  无法找到其他绘制方法使两条虚线间的距离更大

  最优超平面到两种类型数据其最近的点有相同的距离

间隔问题

  硬间隔:   可能会出现过度拟合的现象

  软间隔:   在训练时允许有一定的误差

可以解决线性不可分问题

  升维映射到高维空间解决问题

核函数:

  就是从低维映射到高维的函数

  最常见的核是:高斯径向基核

实战:

from sklearn import svm     # 导入SVM包

X = [[0,0],[2,2],[3,3],[4,4]]           # 训练数据
y = [1,2,3,4]

clf = svm.SVC(kernel="rbf",gamma='auto') # 初始化使用径向基核的分类器
clf.fit(X,y)                # 训练

t = [[2,1],[0,1]]           # 测试集
print(clf.predict(t))
print(clf.decision_function(t))     # 返回测试集数据到超平面的距离

值得关注的是代码最后调用的decision_function()函数,它返回的是数据集与超平面的距离,用正负表示在超平面的哪一侧,该距离的绝对值越大,则分类的可靠性越高.

猜你喜欢

转载自www.cnblogs.com/liu247/p/11070191.html
今日推荐