我应该如何将同时包含字母和数字的单词转换成只包含数字的单词,以便KNeighbors分类器可以训练它对它们进行分类?

2024-10-06 07:54:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我的训练数据包含

EMI3776438, U9BA7E, 20FXU84P, 4506067765, N8UZ00351

我使用的是K邻域分类器算法

现在,我使用的方法是将字母表转换成数字

例如,a/A将映射到10b/B将映射到11c/C将映射到12。转换之后,我将把这些数据发送到K-邻居分类器

例如,ABI37变成1011I37

这种方法的问题是AA1010都将映射到1010,算法无法正确区分它们和分类

有没有一个好的方法把这些转换成数字(因为这个算法只对数字起作用),这样就可以正确地进行实际值和分类


Tags: 数据方法算法分类器分类数字字母表邻域
1条回答
网友
1楼 · 发布于 2024-10-06 07:54:12

为此,首先需要确定字符串比较的距离(或“度量”)。一旦你有了一个度量,那么将k-nn应用到数据将很容易,因为k-nn只需要能够问“两个数据点之间的距离是多少?”。请参阅this Wikipedia一文以了解想法

你可以按照你的建议简单地从字符转换成int,但是这忽略了一个关键点,那就是它不一定能根据k-nn的需要给出一个有意义的字符串“距离”度量来给出一些合理的东西。最佳度量的选择将取决于特定的问题细节,即您的数据实际代表什么

This issue讨论了一个类似的问题

相关问题 更多 >