//cos 相似性度量
float cos_distance(const std::vector<float>& vecfeature1, vector<float>& vecfeature2)
{
float cos_dis=0;
float dotmal=0, norm1=0, norm2=0;
for (int i = 0; i < vecfeature1.size(); i++)
{
dotmal += vecfeature1[i] * vecfeature2[i];
norm1 += vecfeature1[i] * vecfeature1[i];
norm2 += vecfeature2[i] * vecfeature2[i];
}
norm1 = sqrt(norm1);
norm2 = sqrt(norm2);
cos_dis = dotmal / (norm1*norm2);
return cos_dis;
}
返回越接近1 差异越小
余弦相似度测量
最新推荐文章于 2024-10-02 11:50:30 发布