美文网首页工作生活
4.9 更多关于k近邻算法的思考

4.9 更多关于k近邻算法的思考

作者: 逆风的妞妞 | 来源:发表于2019-07-03 17:52 被阅读0次

    4.9 更多关于k近邻算法的思考

    K近邻算法是解决分类问题,天然可以解决多分类问题。不仅如此,思想简单,效果强大。使用K近邻算法还可以解决回归问题。比如预测下一个学生考试的分数,股票的趋势等。在scikit-learn中封装了一个类叫KNeighborsRegressor就是使用k近邻解决回归问题。
    但是k近邻算法也有很多缺点:

    • 最大的缺点就是效率低下。如果训练有m个样本,n个特征,则预测每一个新的数据,需要O(m*n)的时间复杂度,即使我们可以进行优化,使用树结构:KD-Tree,Ball-Tree,但是效率还是十分低的。
    • 高度数据相关,对outliner更为敏感
    • 预测的结果不具有可解释性
    • 维数灾难:随着维度的增加,“看似相近”的两个点之间的距离越来越大。解决办法:降维
      举例说明
    1维 0-1的距离 1
    2维 (0,0)到(1,1)的距离 1.414
    3维 (0,0,0)到(1,1,1)的距离 1.73
    64维 (0,0,...0)到(1,1,...1)的距离 8
    100维 (0,0,...0)到(1,1,...1)的距离 100]
    image

    相关文章

      网友评论

        本文标题:4.9 更多关于k近邻算法的思考

        本文链接:https://www.haomeiwen.com/subject/dbmchctx.html