我想通过 Matlab 中的 KNN 方法对数据集进行分类,但在计算具有不同数据类型的数据点的距离时遇到问题。
我的数据集中的每个点都具有数字和字符串类型的各种特征,例如X{Size,Lenght,Age,Coating,PipeType,Location}
前三个特征具有数字,后三个特征具有字符串(一个或两个单词)值。
如果我将字符串特征映射到二进制代码,例如涂层值包括{Concrete encased,Gunite,Tar Coating,Poliken Coating}
如果我考虑两位{00,01,10,11}
如果我这样计算 X 和 Y 的距离是否合乎逻辑:
X:{Size,Lenght,Age,Coating,PipeType,Location}
Y:{Size,Lenght,Age,Coating,PipeType,Location}
Distance= Euclidean Distance (X,Y) on {Size,Lenght,Age}
+ Hamming Distance (X,Y) on {Coating}
+ Hamming Distance (X,Y) on {PipeType}
+ Hamming Distance (X,Y) on {Location}
或者
Distance= Euclidean Distance (X,Y) on {Size,Lenght,Age}
+ {1 if a x and y have similar coating values and 0 otherwise}
+ ...
我真的很感谢你的建议。这方面的建议文章和文件也很有用。
谢谢玛莎