以未知格式对捕获数据进行分类

时间:2010-05-19 06:16:29

标签: random statistics classification rules

我有大量的捕获数据(可能有数十万条记录),我需要能够将其分解,以便我可以对其进行分类并自己生成“典型”数据。让我进一步解释......

如果我有以下数据字符串:

132T339G1P112S
164T897F5A498S
144T989B9B223T
155T928X9Z554T
...

您可能会开始推断以下内容:

  • 可能所有字符串都是14个字符
  • 第4,第8,第10和第14个字符可能始终为alphas,而其余字符为数字
  • 第一个字符可能总是'1'
  • 第四个字符可能总是字母'T'
  • 第14个字符可能仅限于'S'或'T'
  • 等......

随着越来越多的真实数据样本,其中一些“规则”可能会消失;如果您看到一个15个字符长的字符串,那么您就有证据表明第一个“规则”不正确。但是,如果有足够大的字符串样本长度正好为14个字符,您可以开始假设“所有字符串长度为14个字符”,并为您的置信度指定一个数字数字(围绕事实使用一组适当的假设)您正在看到所有可能捕获数据的随机集合。

正如您可能已经知道的那样,人类可以通过眼睛进行大量的分类,但我不知道允许计算机执行此操作的库或算法。

给定一组捕获的数据(比上面的复杂得多......),是否有我可以在我的代码中应用的库来为我做这种分类,它将识别具有给定程度的“规则”信心?

下一步,我需要能够采用这些规则,并使用它们来创建符合这些规则的我自己的数据。我认为这是一个比分类更容易的步骤,但我从来没有必要执行这样的任务,所以我真的不确定它有多复杂。

猜测,Python或Java(或可能是Perl或R)可能是最常见的这类库的“常见”语言,也许一些生物信息库可以做这类事情。我真的不在乎我必须使用哪种语言;我需要以任何方式解决问题。

任何指向信息的指针都非常有用。正如您可能已经说过的那样,我很难清楚地描述这个问题,并且可能有一组适当的关键字我可以插入到Google中,这将指向我解决方案。

2 个答案:

答案 0 :(得分:0)

对于初学者来说,你真的不希望让计算机识别出任意复杂的规则。人类分析弦乐也是如此;我相信你可以想到一些可以适用的规则的例子,但是没有人能够通过查看字符串来预测。

我认为您需要做的是使用可以识别的某些规则对计算机进行编程。例如,您可以编写一个脚本来标识“字符串长度始终为X”形式的规则。甚至“第N个角色总是X”也不会太难。我注意到你提到的示例规则都是这种形式的,所以它与人类分析的距离不会太远;-)事实上,如果你知道,或者可以假设,那个角色的选择就是给定的位置仅基于位置索引,您可以使用您的数据来估计给定角色出现在给定位置的概率,这就像“第N个角色总是X”的更一般版本。

如果你想为你的规则建立一个置信水平,我建议调查贝叶斯统计数据,当你想要收集假设的概率(例如“这条规则是正确的”)时使用新证据。

答案 1 :(得分:0)

尝试具有群集算法的Weka。聚类算法无需监督即可在数据中查找模式。 Weka还有增量聚类器。我想你究竟想要什么。

它是Java。