【问题标题】:Can Machine Learning help classify data机器学习可以帮助分类数据吗
【发布时间】:2015-03-28 02:28:19
【问题描述】:
我有一个数据集如下,
代码 |说明
AB123 |手机
B467A |手机
12345 |电话
WP9876 |无线电话
SP7654 |卫星电话
SV7608 |轿车
CC6543 |轿跑车
需要根据代码和描述创建自动分组。假设我有这么多这样的数据已经分类为 0-99 组。每当新数据带有代码和描述时,机器学习算法需要根据之前可用的数据自动对其进行分类。
代码 |说明 | 组
AB123 |手机 | 1
B467A |手机 | 1
12345 |电话 | 1
WP9876 |无线电话 | 1
SP7654 |卫星电话 | 1
SV7608 |轿车 | 2
CC6543 |轿跑车 | 3
这可以达到某种程度的准确性吗?目前这个过程非常手动。任何这样的想法或参考都在那里,请帮忙。
【问题讨论】:
标签:
machine-learning
classification
【解决方案1】:
我不认为机器学习方法最适合解决问题,因为基于文本的机器学习算法往往相当复杂。从您提供的示例中,我不确定如何
我认为解决或尝试解决此问题的最简单方法如下,它可以用许多免费的编程语言实现,例如 python。每个描述都可以存储为一个字符串。您可以做的是存储属于特定组的所有字符串的所有子字符串(即Phone是您的字符串,子字符串将是'P','h',Ph',..,'e')一个列表(有关如何在 python 中实现它,请参阅此问题...Substrings of a string using Python)。然后,您要为每个子字符串和存储的所有子字符串,查看哪些对于某个组是唯一的。然后选择一定长度的字符串(比如 3 个字符长,以消除随机字母连接)作为分类标准。然后当你得到新数据时,检查描述是否对某个组是唯一的。例如,您可以根据描述中是否包含单词 phone 对第 1 组中的所有对象进行分类。
在不知道您熟悉/可行的语言的情况下,很难提供具体的代码来解决您的问题。无论如何,我希望这会有所帮助。伊夫
【解决方案2】:
是的,监督学习可以做到这一点。您为自己选择一个模型,您可以使用已有的数据“训练”该模型。然后,模型/算法从已知数据“概括”到以前看不见的数据。
您指定为组的内容称为类或“标签”,需要根据 2 个输入特征(代码/描述)进行预测。是直接输入这些特征还是将它们预处理成更适合算法的更抽象的特征,取决于您选择哪种算法。
如果您没有机器学习方面的经验,您可以先学习一些基础知识,同时在 RapidMiner、Weka 或 Orange 等工具中测试已经实现的算法。
【解决方案3】:
尝试阅读监督学习。您需要为您的训练数据提供标签,以便算法知道什么是正确答案 - 并能够为您生成合适的模型。
然后您可以使用生成的模型“预测”新传入数据的输出类。
最后,您可能希望回过头来检查预测结果的准确性。如果您随后为新接收的和预测的数据输入标签,则这些数据可用于进一步训练您的模型。