一、SVM和KNN的对比 KNN是基本没有训练集的,他基本上是利用训练数据集里面需要预测样本点距离最近的一些值 svm是需要一个训练过程的,利用一个线性的超平面去分割数据集。 knn只有一个参数k,而svm的参数更多 二、SVM原理 例子:比如两个大学中间有一堵墙,两个大学学生经常往来不绝,SVM利用这堵墙分类了两个大学的学生,左边是A大学,右边是B大学,SVM认为,A大学里的全是A大学的学生,B大学里的全是B大学的学生,而这是不一定的。 svm需要超平面wx+b来分割数据集(此处以线性可分为例)就是上面说的大学间的围墙,,因此会有一个模型训练过程来找到w和b的值。训练完成之后就可以拿去预测了,根据函数y=wx+b的值来确定样本点x的label,不需要再考虑训练集。对于SVM,是先在训练集上训练一个模型,然后用这个模型直接对测试集进行分类。