当前位置:   article > 正文

KNN算法 C++实现_knn c++

knn c++

KNN是分类方法,对于可以计算距离的样本,给出已经分好类的样本和K值,计算待检测数据是属于哪一类.

距离用的欧式距离,求前k个距离最小的值,我的时间复杂度是O(n logn),查资料堆排序可以O(Klogn)。

测试数据来自http://download.csdn.net/download/qq_16267353/7520631


#include <iostream>

#include <vector>
#include <sstream>
#include <fstream>
#include <math.h>
#include <algorithm>
#include <string>


using namespace std;


struct Node{
double dis;
double label;
Node(){}
Node(double d,int l):dis(d),label(l){}


};


bool cmp(Node a,Node b){
return a.dis<b.dis;
}
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/801249
推荐阅读
相关标签
  

闽ICP备14008679号