我正在研究相似类型实体之间的相似性计算。对于每个实体,我都可以制作一个包含多个向量本身的向量。
- A = 50*1 向量
- B = 100*1 向量
- C = 50*1 向量
- D = [年龄、性别、x 特征、y 特征、z 特征]
Entity = [ABCD],基本上将所有这些连接起来。
我的问题是:由于它们来自不同的空间,每个空间都有不同的数量级。
如果我在这些向量上运行 KNN,我怀疑结果将仅受一个空间的特征控制。应该怎么做才能获得最好的 KNN 结果?什么“标准化”在这里最好?
我正在研究相似类型实体之间的相似性计算。对于每个实体,我都可以制作一个包含多个向量本身的向量。
Entity = [ABCD],基本上将所有这些连接起来。
我的问题是:由于它们来自不同的空间,每个空间都有不同的数量级。
如果我在这些向量上运行 KNN,我怀疑结果将仅受一个空间的特征控制。应该怎么做才能获得最好的 KNN 结果?什么“标准化”在这里最好?
由于您有混合数据,因此请对分类数据使用 one-hot 编码,以便它们成为二进制数据。对于数值数据,将它们归一化,使其范围在 [0,1] 内。
接下来,您必须选择适当的距离度量。在此处查看答案: https ://stats.stackexchange.com/questions/218092/how-to-calculate-the-distance-in-knn-for-mixed-data-types