优点:适合小样本数量,高特征维度的数据
目标:达到二值分类的目的
选择超平面的依据:
无法找到其他绘制方法使两条虚线间的距离更大
最优超平面到两种类型数据其最近的点有相同的距离
间隔问题
硬间隔: 可能会出现过度拟合的现象
软间隔: 在训练时允许有一定的误差
可以解决线性不可分问题
升维映射到高维空间解决问题
核函数:
就是从低维映射到高维的函数
最常见的核是:高斯径向基核
实战:
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()函数,它返回的是数据集与超平面的距离,用正负表示在超平面的哪一侧,该距离的绝对值越大,则分类的可靠性越高.
原文:https://www.cnblogs.com/liu247/p/11070191.html