标签:span push 向量 size 效率 dea double \n template
template <class DataType>
double EuclideanDistance(std::vector<DataType> &inst1, std::vector<DataType> &inst2) {
if(inst1.size() != inst2.size()) {
std::cout<<"the size of the vectors is not the same\n";
return -1;
}
double distance=0.0;
std::vector<double> temp;
for(size_t i=0; i<inst1.size(); ++i) {
temp.push_back(pow(inst1.at(i)-inst2.at(i), 2.0));
}
distance=accumulate(temp.begin(), temp.end(), 0.0);
distance=sqrt(distance);
return distance;
}
kNN具体的实现可以有很多的优化方式,如可以在计算前先排除掉与预测集数据距离较大的一些噪音点,
从而提高计算效率。
标签:span push 向量 size 效率 dea double \n template
原文地址:https://www.cnblogs.com/donggongdechen/p/9513575.html