我的训练数据包含
EMI3776438, U9BA7E, 20FXU84P, 4506067765, N8UZ00351
我使用的是K邻域分类器算法
现在,我使用的方法是将字母表转换成数字
例如,a
/A
将映射到10
,b
/B
将映射到11
,c
/C
将映射到12
。转换之后,我将把这些数据发送到K-邻居分类器
例如,ABI37
变成1011I37
这种方法的问题是AA
和1010
都将映射到1010
,算法无法正确区分它们和分类
有没有一个好的方法把这些转换成数字(因为这个算法只对数字起作用),这样就可以正确地进行实际值和分类
Tags:
为此,首先需要确定字符串比较的距离(或“度量”)。一旦你有了一个度量,那么将k-nn应用到数据将很容易,因为k-nn只需要能够问“两个数据点之间的距离是多少?”。请参阅this Wikipedia一文以了解想法
你可以按照你的建议简单地从字符转换成int,但是这忽略了一个关键点,那就是它不一定能根据k-nn的需要给出一个有意义的字符串“距离”度量来给出一些合理的东西。最佳度量的选择将取决于特定的问题细节,即您的数据实际代表什么
This issue讨论了一个类似的问题
相关问题 更多 >
编程相关推荐