Knn算法与 Svm算法对比

Knn算法与 Svm算法对比

这里首先借用一个博主所做的图表,讲的很有理有据

(7条消息) [cs231n]KNN与SVM区别_Rookie’Program的博客-CSDN博客_knn和svm的区别

Knn算法与 Svm算法对比_第1张图片

这里我们来讲一下我对这两个算法的理解knn看起来就是比较简单的一个数学模型,就是划范围论,精细程度实际上可能没有svm好,并且测试量也不能大,数据一大,处理起来又很麻烦,预测效率也比较低。

相反的svm和knn对比起来就算是一个比较高级的函数了,可以进行区域划分,使数据的判断更有说服力,并且svm决定边界的是一个函数并不跟knn一样只是一个参数k,更加复杂和精确。

 

下面在借鉴一下另一位博主的内容:

 区别:

  1 KNN对每个样本都要考虑。SVM是要去找一个函数把达到样本可分。

  2 朴素的KNN是不会去自助学习特征权重的,SVN的本质就是在找权重。

  3 KNN不能处理样本维度太高的东西,SVM处理高纬度数据比较优秀。

  怎么选择使用二者呢?

  1 选择KNN的场景:

  @ 准确度不需要精益求精。

  @ 样本不多。

  @ 样本不能一次性获取。智能随着时间一个个得到。

  2 选择SVM的场景:

  @ 需要提高正确率。

  @ 样本比较多。

  @ 样本固定,并且不会随着时间变化。

所以综上来说,knn和svm各有特点,在区分数据时可以根据实际来进行选择。

你可能感兴趣的:(支持向量机,算法,机器学习)