【问题标题】:Relational Data Mining without ILP没有 ILP 的关系数据挖掘
【发布时间】:2014-08-07 06:12:13
【问题描述】:

我有一个来自关系数据库的庞大数据集,我需要为其创建分类模型。通常对于这种情况我会使用 ILP,但由于特殊情况我不能这样做。

解决此问题的另一种方法是在我有对外关系时尝试汇总值,但是对于某些名义属性,我有数千个重要且不同的行(例如:与多个不同药物处方有关的患者) 如果不为该名义属性的每个不同行创建一个新属性,我就无法做到这一点,而且如果我这样做,大多数新列将具有 NULL 值。

是否有任何非 ILP 算法允许我对关系数据库进行数据挖掘,而无需求助于像旋转这样会创建数千个新列的技术?

【问题讨论】:

标签: algorithm relational-database classification data-mining


【解决方案1】:

首先,一些注意事项

我不确定您为什么不能使用您喜欢的编程(子)范式*、归纳逻辑编程 (ILP),或者您要分类的是什么。提供更多细节可能会导致更好的答案;特别是因为根据与之相关的编程范式来选择分类算法有点不寻常。如果您的真实示例是机密的,那么只需编造一个虚构但类似的示例。

没有 ILP 的大数据分类

话虽如此,在排除 ILP 之后,我们的考虑集中还有 4 种其他逻辑编程范式:

  1. 诱拐
  2. 答案集
  3. 约束
  4. 功能性

除了逻辑编程之外的几十种范式和子范式。

例如,在函数逻辑编程中,存在称为归纳函数逻辑编程的ILP扩展,它基于反转收缩(即收缩机制的反转)。这种方法克服了 ILP 的几个限制,并且 (according to some scholars, at least) 在表示方面同样适用于应用,并且具有允许以更自然的方式表达问题的好处。

如果不了解您的数据库的详细信息以及您在使用 ILP 时面临的障碍,我不知道这是否能解决您的问题或遇到同样的问题。因此,我也会提出一种完全不同的方法。

ILP is contrasted with "classical" or "propositional" approaches to data mining。这些方法包括机器学习的精髓,如决策树、神经网络、回归、装袋和其他统计方法。与其因为数据量大而放弃这些方法,不如加入许多利用高性能计算 (HPC) 的数据科学家、大数据工程师和统计学家的行列,在海量数据集上使用这些方法(有还可以选择使用抽样和其他统计技术来减少分析关系数据库中的大数据所需的计算资源和时间)。

HPC 包括利用多个 CPU 内核、通过弹性使用具有高内存和大量快速 CPU 内核的服务器来扩展分析、使用高性能数据仓库设备、使用集群或其他形式的并行计算等. 我不确定您正在使用哪种语言或统计套件来分析您的数据,但作为示例,CRAN Task View 列出了许多用于 R 语言的 HPC 资源,这些资源可以让您扩展命题算法。

【讨论】:

    猜你喜欢
    • 2013-04-26
    • 2012-03-11
    • 2010-10-25
    • 2011-02-07
    • 2012-02-06
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 2011-07-13
    相关资源
    最近更新 更多