顺序模式 - 数据挖掘

时间:2013-07-22 19:58:59

标签: sql algorithm data-mining

我是数据挖掘的新手,所以如果这个问题对任何人来说都是一个明显的问题我会道歉。我知道有很多数据挖掘算法,例如顺序模式挖掘或apriori算法。我想知道我实现的以下代码是否会被视为数据挖掘,特别是顺序模式,如果我有一个大约20,000名学生的数据库,或者我是否必须专门使用现有的数据挖掘算法之一?

String x = "SELECT STUDENTS.ROW, STUDENTS.MAJOR, STUDENTS.NAME " +
"CASE WHEN prior_row.NAME IS NOT NULL" +
"AND EXISTS(SELECT 'x' FROM STUDENTS prior_row " +
"WHERE STUDENTS.MAJOR = prior_row.MAJOR" +
"AND STUDENTS.ROW > prior_row.ROW + 1" +
"SELECT STUDENTS.MAJOR, STUDENTS.ROW, STUDENTS.NAME WHERE" +
"MAJOR < (SELECT MAJOR FROM STUDENTS WHERE MAJOR = 'MATH' 
"AND WHERE MAJOR > (SELECT MAJOR FROM STUDENTS WHERE MAJOR = 'SCIENCE' THEN 1 ELSE NULL          END Flagged_Values";

 st.executeQuery(x);

  String y = "SELECT STUDENTS.ROW, STUDENTS.MAJOR, STUDENTS.NAME" +
"CASE WHEN previous.NAME IS NOT NULL" +
"AND EXISTS(SELECT 'y' FROM STUDENTS previous" +
"WHERE STUDENTS.MAJOR = previous.MAJOR" +
"AND STUDENTS.ROW > previous.ROW + 1" +
"SELECT STUDENTS.MAJOR, STUDENTS.ROW, STUDENTS.NAME WHERE" +
"MAJOR < (SELECT THE_OUTCOME FROM STUDENTINFO WHERE MAJOR ='Math' +
"AND WHERE MAJOR > (SELECT MAJOR FROM STUDENTS WHERE MAJOR = 'SCIENCE'" +
"AND WHERE MAJOR > (SELECT MAJOR FROM STUDENTS WHERE MAJOR = 'Engineering'
"THEN 1 ELSE NULL END Flag ";

 st.executeQuery(y);

3 个答案:

答案 0 :(得分:1)

您正在做的是 SQL select语句。投影,选择和聚合。

您是否阅读过Wikipedia article on data mining

  

实际数据挖掘任务是对大量数据进行自动或半自动分析,以提取以前未知的有趣模式,例如数据记录组(聚类分析),异常记录(异常检测)和依赖关系(关联规则挖掘) )。这通常涉及使用数据库技术,如空间索引。然后可以将这些模式视为输入数据的一种摘要,并且可以用于进一步分析,或者例如,在机器学习和预测分析中。例如,数据挖掘步骤可以识别数据中的多个组,然后可以使用该组来通过决策支持系统获得更准确的预测结果。数据收集,数据准备,结果解释和报告都不是数据挖掘步骤的一部分,但作为附加步骤确实属于整个KDD过程。

对于任何类型的数据收集或选择,术语“数据挖掘”通常都是误用,但是应该将这些任务称为“数据收集”和“数据库查询”,而不是提取随机流行语。 数据挖掘是统计,AI,机器学习和数据库的交集。如果缺少这些组件(除了数据库,我在查询中看不到它们),应该调用它们,例如“数据库”,“机器学习”或“统计”。

答案 1 :(得分:0)

一般而言,请记住,这本质上是基于意见的,数据挖掘是指获取处于相对不可用格式的数据并将其转换为更有用的格式的过程。

例如,如果我有一个巨大的.txt非结构化文本转储,然后我提取相关部分(根据相关的一些正式定义)并将其放入.bson商店或类似的东西,这将是数据挖掘,无论我如何进行提取。

但是,由于您的数据已经在SQL数据库中,我不会考虑这种数据挖掘。我认为它是SQL开发,但同样,这主要是基于意见的。 SQL数据库已经是一种非常有用的数据存储方式,因此访问该数据并不会引入一系列尚未存在的功能。

tl;博士:我不会说这算作数据挖掘,但它是一个灰色区域。

答案 2 :(得分:0)

在数据挖掘领域,执行SQL查询不会被视为数据挖掘。