支持向量机解决的问题:在线性可分数据集上所有的划分超平面中寻找一个最优的超平面,它的解是唯一的。
寻找最优超平面的策略:最大化支持向量样本点与超平面的间隔,这样泛化能力最好。
核函数解决的问题:给非线性划分问题提供了线性解决的方法,即将实际的非线性数据集通过核函数映射到高维空间,使其在转换空间线性可分,然后再求解。
概念总结:
习题 6.2 使用LIBSVM 线性核和高斯核对西瓜数据集3.0进行训练,并比较支持向量。
# 表4-5
import pandas as pd
import numpy as np
data = np.loadtxt('./CH3-3watermeleondata.csv', delimiter=',')
X = data[:,0:2]
y = data[:,2]
# 线性核 --- LIBSVM已经可以在sklearn上直接使用,不用再按步骤安装了,即sklearn上的NuSVC模型
from sklearn.svm import NuSVC
nusvcclf = NuSVC(kernel='linear',random_state=0)
nusvcclf.fit(X,y)
# 看下预测结果
nusvcy_pred = nusvcclf.predict(X)
print(metrics.classification_report(y,nusvcy_pred))
linearVecto