数据

当前位置:永利皇宫463登录 > 数据 > 数据挖掘的概念,中的一些概念永利皇宫463登录

数据挖掘的概念,中的一些概念永利皇宫463登录

来源:http://www.makebuLuo.com 作者:永利皇宫463登录 时间:2019-11-22 05:12

学习SQL Server 2012编程入门经典(第4版)的笔记

1.列别名
  除了支持oracle的列表名语法形式之外,还支持把列别名置于列名之前,并附加等号:

1.事务日志

  任意数据库的更改起初不进入数据库本身,而是不断地被写入到事务日志。

  日志是数据进入磁盘上的最先位置。

select emp_name=ename,salary=sal from emp;

  这些模式和趋势可以被收集在一起并定义为“数据挖掘模型”。挖掘模型可以应用于特定的业务方案,例如:

2.表

  数据库中实际的数据都存在表中。表有行有列。

2.字符串条件
  SQL Server除了支持like关键字、“%”及“_”作为通配符以及使用escape关键字指定转义字符进行模糊匹配查询,还支持正则表达式中的方括号用法,以匹配指定范围内或者方括号所指定集合中的任意单个字符。
  SQL Server支持的方括号用法有两种形式,[]与[^],前者用于包含某些字符,后者用于不包含某些字符,举例如下。

  ◆ 预测销售额

 2.1索引

   索引是在特定表或视图框架内存在的对象。索引的功能类似于目录,可以加速信息的查找。

  索引分两类:

    群集索引---每个表只能有一个。群集索引按照其索引进行物理排序。列子:如果为百科全书做索引,群集索引就是页码。

    非群集索引---每个表可以有多个。非群集索引是指用于找到数据的其他一些值。列子:为百科全书做索引,非群集索引就是百科全书后面的关键字索引。

  • [amd]:表示包含a、m、d三个字符中的任意一个
  • [^amd]:表示不包含a、m、d三个字符中的任意一个
  • [b-f]:表示英文字母表中b到f之中的任意一个
  • [0-9]:表示0到9这10个数字中的任意一个
      如查询dept表的dname列中的第一及第二字符为数字,第三个字符为小写英文字母的记录,可以使用如下语句:

  ◆ 向特定客户发送邮件

  2.2触发器

  触发器是在操作表的时候(CRUD)自动执行一段逻辑代码。

  ◆ 确定可能需要搭售的产品

  2.3约束

       约束只能在表中,就是限制表中的数据满足某种条件。

select * from dept where dname like '[0-9][0-9][a-z]%';

  ◆ 查找客户将产品放入购物车的顺序序列

3.文件组 

  默认情况下,表及其他对象要存储在一个文件中,默认情况下,该文件就是文件组的主要成员。

       用户可以自己创建自定义文件组。

3.多表连接
  对于自然连接,Oracle支持natural join以及using关键字的用法,而SQL Server不支持。
  在from子句中使用子查询时,Oracle使用或不使用表别名都是可以的。若使用表别名,则不能附带as关键字。如下面子查询:

  生成挖掘模型是大型过程的一部分,此过程包括从提出相关数据问题并创建模型以解答这些问题到将模型部署到工作环境的所有事情。此过程可以使用下列六个基本步骤进行定义:

4.数据库关系图

  数据库关系图是数据库设计的可视表示。

#未使用别名
select ename from (select * from emp where deptno=20);
#使用别名
select ename from (select * from emp where deptno=20) e;

  ◆ 定义问题

5.视图

  视图是一种虚拟表(不包含数据,其它与表类似)。

但是SQL Server要修必须使用表别名,且附带或不附带as都支持:

  ◆ 准备数据

6.存储过程

  存储过程是SQL Service编程功能的基础。存储过程通常是组成一个逻辑单元的Transact-SQL(SQL Service 数据库查询语言)语句的有序集合。

     存储过程允许使用变量和参数,也可使用选择和循环结构。

 

select ename from (select * from emp where deptno=20) e;
select ename from (select * from emp where deptno=20) as e;

  ◆ 浏览数据

4.查询排序后的前n行或第n行记录

  ◆ 生成模型

SQL Server中实现取出表中的前n行,可以使用两种方法:

  ◆ 浏览和验证模型

  • top n
  • row_number()

  ◆ 部署和更新模型

SQL Server不支持Oracle中的rownum关键字,而row_number()函数的用法与Oracle相同。
  相对于Oracle的实现方式,使用top n的用法,在SQL Server中可以很容易地实现取出表中前n行的目的。如查询emp表中的sal值最高的前3条记录:

  以下关系图说明过程中每个步骤之间的关系,以及 Microsoft SQL Server 2008 中可用于完成每个步骤的技术。

select top 3 ename,sal from emp order by sal desc;

  永利皇宫463登录 1

如果要查询排序后的第n航记录,可以由前n行结果除去前n-1行结果,如要查询emp表中sql值排名第三的记录:

  尽管关系图中所示的过程是一个循环过程,但是每个步骤并不需要直接执行到下一个步骤。创建数据挖掘模型是一个动态、交互的过程。浏览完数据之后,您可能会发现数据不足,无法创建适当的挖掘模型,因此必须查找更多的数据。或者,您可以生成数个模型,但随后发现这些模型无法充分地回答定义的问题,因此必须重新定义问题。您可能必须在部署模型之后对其进行更新,因为又出现了更多的可用数据。可能需要多次重复过程中的每个步骤才能创建良好的模型。

select a.ename,a.sal from
(select top 3 ename,sal from emp order by sal desc) as a
except
select a.ename,a.sal from
(select top 2 ename,sal from emp order by sal desc) as a;

  SQL Server 2008 提供用于创建和使用数据挖掘模型的集成环境,称为 Business Intelligence Development Studio。该环境包括数据挖掘算法和工具,使用这些算法和工具更易于生成用于各种项目的综合解决方案。

但是SQL不支持以下做法:

  创建数据挖掘解决方案后,您可以使用 SQL Server Management Studio 维护和浏览该解决方案。

select top 3 ename,sal from emp order by sal desc
except
select top 2 ename,sal from emp order by sal desc;

  定义问题

5.集合运算
  对与集合的差运算,Oracle使用minus运算符,而SQL Server使用except运算符。

  与以下关系图的突出显示相同,数据挖掘过程的第一步就是明确定义业务问题,并考虑解答该问题的方法。

6.null值在排序(order by)中的处理
  在SQL Server的查询中,如果order by附加了asc选项,即升序排序,则null值排在其他非空值之前;如果order by子句附加了desc,则null值排在其他非空值之后,也可以认为在SQL Server中,null值最小,这与Oracle的处理方式正好相反。

  永利皇宫463登录 2

7.null处理函数
  对应于Oracle的nvl()函数,SQL Server提供的null处理函数为isnull(),其用法与Oracle的nvl()相同。

  该步骤包括分析业务需求,定义问题的范围,定义计算模型所使用的度量,以及定义数据挖掘项目的特定目标。这些任务转换为下列问题:

select ename,sal+isnull(comm,0) from emp;

  ◆ 您在查找什么?您要尝试找到什么类型的关系?

8.修改表结构

  ◆ 您要尝试解决的问题是否反映了业务策略或流程?

①修改数据类型
  Oracle和SQL Server分别使用modify与alter column关键字修改列的数据类型,两者的语法为:

  ◆ 您要通过数据挖掘模型进行预测,还是仅仅查找受关注的模式和关联?

  • Oracle:alter table table_name modify column_name datatype
  • SQL Server:alter table table_name alter column_name datatype

  ◆ 您要尝试预测数据集的哪个属性?

②修改列名
  Oracle使用alter table附加rename column子句来修改列名:

  ◆ 列如何关联?或者如果有多个表,则表如何关联?

alter table tablename rename column old_column_name to new_column_name;

  ◆ 如何分发数据?数据是否具有季节性性质?数据是否可以准确反映业务流程?

  若要回答这些问题,可能必须进行数据可用性研究,必须调查业务用户对可用数据的需求。如果数据不支持用户的需求,则还必须重新定义项目。

  此外,还需要考虑如何将模型结果纳入用于度量业务进度的关键绩效指标 (KPI)。

  准备数据

  如以下关系图中突出显示的那样,数据挖掘过程的第二步就是合并和清除定义问题步骤中标识的数据。

  永利皇宫463登录 3

  数据可以分散在公司的各个部门并以不同的格式存储,或者可能包含错误项或缺少项之类的不一致性。例如,数据可能显示客户在产品推向市场之前购买该产品,或者客户在距离她家 2,000 英里的商店定期购物。

  数据清除不仅仅是删除错误数据,还包括查找数据中的隐含相关性、标识最准确的数据源并确定哪些列最适合用于分析。例如,应当使用发货日期还是订购日期?最佳销售影响因素是数量、总价格,还是打折价格?不完整数据、错误数据和输入看似独立,但实际上有很强的关联性,它们可以以意想不到的方式影响模型的结果。因此,在开始生成挖掘模型之前,应确定这些问题及其解决方式。

  通常,您使用的是一个非常大的数据集,并且无法仔细查看每个事务。因此,必须使用某种自动化的形式(如,在 Integration Services 中)来浏览数据并找到这些不一致。Microsoft SQL Server 2008 Integration Services (SSIS) 包含完成该步骤所需的所有工具,步骤内容包括转换到自动执行数据清除和合并。

  需要特别注意的是用于数据挖掘的数据不必存储在联机分析处理 (OLAP) 多维数据集中,或者甚至不必存储在关系数据库中,但是您可以将它们作为数据源使用。您可以使用已被定义为 Analysis Services 数据源的任何数据源执行数据挖掘。这些数据源可以包括文本文件、Excel 工作簿或来自其他外部提供程序的数据。

  浏览数据

  如以下关系图中突出显示的那样,数据挖掘过程的第三步就是浏览已准备的数据。

  永利皇宫463登录 4

  您必须了解数据,以便在创建挖掘模型时作出正确的决策。浏览技术包括计算最小值和最大值,计算平均偏差和标准偏差,以及查看数据的分布。例如,通过查看最大值、最小值和平均值,您可以确定数据并不能代表客户或业务流程,因此您必须获取更多均衡数据或查看您的预期结果所依据的假定。标准偏差和其他分发值可以提供有关结果的稳定性和准确性的有用信息。大型标准偏差可以指示添加更多数据可以帮助改进模型。与标准分发偏差很大的数据可能已被扭曲,抑或准确反映了现实问题,但很难使模型适合数据。

  借助您自己对业务问题的理解来浏览数据,您可以确定数据集是否包含缺陷数据,随后您可以设计用于解决该问题的策略或者更深入地理解业务的典型行为。

  BI Development Studio 中的数据源视图设计器包含数种可用于浏览数据的工具。

  此外,在创建模型时,Analysis Services 还会针对该模型中包含的数据自动创建统计摘要,您可以进行查询以便用于报告或进一步分析。

  生成模型

  如以下关系图中突出显示的那样,数据挖掘过程的第四步就是生成一个或多个挖掘模型。您将使用从浏览数据步骤中获得的知识来帮助定义和创建模型。

  永利皇宫463登录 5

  通过创建挖掘结构定义要使用的数据。挖掘结构定义数据源,但只有对挖掘结构进行处理后,该结构才会包含任何数据。处理挖掘结构时,Analysis Services 生成可用于分析的聚合信息以及其他统计信息。基于该结构的所有挖掘模型均可使用该信息。

  在处理模型之前,数据挖掘模型只是一个容器,指定用于输入的列、要预测的属性以及指示算法如何处理数据的参数。处理模型也称为“定型”。定型表示向结构中的数据应用特定数学算法以便提取模式的过程。在定型过程中找到的模式取决于选择的定型数据、所选算法以及如何配置该算法。SQL Server 2008 包含多种不同算法,每种算法都适合不同的任务类型,并且每种算法都创建不同的模型类型。

  此外,还可以使用参数调整每种算法,并向定型数据应用筛选器,以便仅使用数据子集,进而创建不同结果。在通过模型传递数据之后,即可查询挖掘模型对象包含的摘要和模式,并将其用于预测。

  您可以在 BI Development Studio 中使用数据挖掘向导或使用数据挖掘扩展插件 (DMX) 语言来定义新的模型。

  务必记住,只要数据发生更改,必须更新数据挖掘结构和挖掘模型。重新处理挖掘结构以进行更新时,Analysis Services 检索源中的数据,包括任何新数据(如果动态更新源),并重新填充挖掘结构。如果您具有基于结构的模型,则可以选择更新基于该结构的模型,这表示可以根据新数据保留模型,或者也可以使模型保持原样。

  浏览和验证模型

  如以下关系图中突出显示的那样,数据挖掘过程的第五步就是浏览您已经生成的挖掘模型并测试其有效性。

  永利皇宫463登录 6

  在将模型部署到生产环境之前,您需要测试模型的性能。此外,在生成模型时,您通常需要使用不同配置创建多个模型,并对所有这些模型进行测试,以便查看哪个模型为您的问题和数据生成最佳结果。

  Analysis Services 提供的工具可帮助您将数据分成定型数据集和测试数据集,使您可以更准确地评估基于相同数据的所有模型的性能。您使用定型数据集生成模型,并通过创建预测查询来使用测试数据集测试模型的准确性。在 SQL Server 2008 Analysis Services 中,生成挖掘模型时可自动执行该分区操作。

  可以使用 BI Development Studio 中数据挖掘设计器内的查看器来浏览算法发现的趋势和模式。还可以使用该设计器中的工具(如,提升图和分类矩阵)来测试模型创建预测的性能。若要验证模型是否特定于您的数据,或者是否可用于推断总体,您可以使用称为“交叉验证”的统计方法来自动创建数据子集,并参照每个子集测试模型。

  如果您在生成模型步骤中创建的所有模型都无法正常工作,则必须返回到此过程的上一个步骤,并重新定义问题或重新调查原始数据集中的数据。

  部署和更新模型

  如下面的关系图中突出显示的那样,数据挖掘过程的最后一步是将性能最佳的模型部署到生产环境。

  永利皇宫463登录 7

  当生产环境中部署了挖掘模型之后,便可根据您的需求执行许多任务。下面是一些可以执行的任务:

  使用模型创建预测,然后可以使用这些预测作出业务决策。SQL Server 提供可用于创建预测查询的 DMX 语言,同时还提供有助于生成查询的预测查询生成器。

  创建内容查询以检索模型中的统计信息、规则或公式。

  直接将数据挖掘功能嵌入到应用程序。您可以包括含有一组对象的分析管理对象 (AMO),应用程序可使用这组对象创建、更改、处理以及删除挖掘结构和挖掘模型。另外,可以直接将 XML for Analysis (XMLA) 消息发送到 Analysis Services 实例。

  使用 Integration Services 创建一个包,在这个包中,挖掘模型用于将传入数据合理地分离到多个表中。例如,如果数据库不断地通过潜在客户进行更新,则可以结合使用挖掘模型和 Integration Services 将传入数据拆分为可能购买产品的客户和不可能购买产品的客户。

  创建可让用户直接对现有挖掘模型进行查询的报表。

  在查看和分析后更新模型。任何更新都要求您重新处理该模型。

  随着组织传入的数据不断增多,应将动态更新模型并进行一致更改(以便提高解决方案的效率)作为部署策略的一部分。

 

 

 

本文由永利皇宫463登录发布于数据,转载请注明出处:数据挖掘的概念,中的一些概念永利皇宫463登录

关键词: