首页 > 数据库 > SQL Server >

【SQLServer2008商务智能BI】数据挖掘导论

2015-04-26

数据挖掘到底是什么呢? 显然数据挖掘不是变魔术,数据挖掘是 使用复杂的数学算法,使我们能够运用计算机强大的计算能力对大量细节数据进行筛查、梳理,找出一些有意义的信息,发现数据中的模式、相关性和聚类


数据挖掘到底是什么呢?

显然数据挖掘不是变魔术,数据挖掘是 使用复杂的数学算法,使我们能够运用计算机强大的计算能力对大量细节数据进行筛查、梳理,找出一些有意义的信息,发现数据中的模式、相关性和聚类。同时它也让我们摆脱了手工进行这种数字运算的劳累工作。

那么我们为什么又要去了解数据挖掘呢?

关系数据库系统擅长记录日常的业务事务,积累了大量的数据。
而多维数据系统通过聚合对数据进行汇总,但由于要按照无数个维度和层次结构来汇总,所以数据还是会成倍增长。
当这些数据多到无法承受时,只能把数据转储到备份磁带,或者存放到文档中,然后它们渐渐的也就被遗忘带了。

但问题是:这些数据是企业生命历程的记录。这些数据包含了完整的关于企业过去情况如何的记录,更重要的是,这些数据提供了一些线索,告诉你企业未来将如何,这些对企业的管理可能会很有帮助。

该如何从所有这些数据中得出有意义的信息?

我们通过数据挖掘,在数据之间进行关联,最初在人们观察这些数据时,可能不会立即发现这些关联,但至少关联使人们能够更易于理解这些数据,一旦人们对这些数据有了崭新的理解,就能更有效的分析数据、设定方向。
通过进一步的观察,我们可以预测在这些数据之下还隐藏着什么。任何对于未知情况的预测,都有得出错误结论的分先。然后使用关联所体现出的模式来进行预测,我们预测正确的可能性就很大。如果我们所掌握的数据越多,那么我们进行正确预测的可能性就越大。



那么这是否意味着:只要我们随意将其中一种复杂的数学算法运用到我们的数据上,就会得出大量的商务智能BI知识呢?
实际情况并不完全是这样。

我们需要知道 数据挖掘算法能够为我们做些什么事情。

我们也需要知道 为了使用数据挖掘技术来获得商业智能,我们必须要做哪些工作。也就是我们需要按照一定的步骤来为挖掘过程做数据和算法方面的准备,我们还需要对挖掘结果进行评价,以便从挖掘出的碎石中找到金子。


数据挖掘能够帮我们完成哪些工作呢?

1、分类

分类用于预测一个离散属性的值,而离散属性的值是一组不同值中的一个。

一个简单的例子就是,我们可能会把客户分为 信用风险低 和 信用风险高 两类。如果我们知道该如何对个人、企业或者事物进行分类,那么当我们处理个人、企业或事物时,就能做出更加明智的决策。

首先,选择进行何种分类,也就是要选择 我们想要预测的未来交易情况中的那个属性值(预测属性),比如 信用风险。

然后,查看历史数据,在历史数据中预测属性 的值是已知的,比如 净资产、年营业收入、发票支付历史。

接下来,我们需要从这些历史数据中确定,哪些属性最具有区别性(区别属性),能够将具有预测属性的某个值得客户,与具有其他值得客户区分开。

最后,我们使用这些区别属性来预测在未来交易中预测属性的值。

2、回归

回归用于预测一个连续值,而一般的度量就是一个连续值的变量,比如 销售。

在预测连续值时,回归要寻找的是可能会随着时间推移而延续和重复的趋势。比如 销售可能是季节性的,在某个月会出现峰值。在查看历史数据中的销售数字时,回归算法会发现这些峰值,并在预测未来年份的销售时,沿用这种趋势。

像分类一样,回归也会寻找所要预测的值,与历史数据中的其他 连续值 之间的关系。比如 油价可能对销售会有很大的影响(对于SUV车的销售商来说就是这样),在预测每个月的销量时,回归算法可以把月初的油价作为一个因素纳入到预测之中。

3、细分

细分是一种分而治之的数据分析方法。

细分将数据分到几个有相似特征的组中,然后可以对每一组的特征进行更深入的分析。因为在查看公司的分组时,能够从中洞悉一些在单独查看一家公司时,并不显而易见的东西。

比如 一家公司按照客户的雇员人数来分组,一组可能是超过1000人的公司,一组可能是在500-999之间的公司,以此类推。然后就可以查看每个分组,看每个分组中的客户所创造的收入、有何种类型的需要、花在管理上的时间有多少 等诸如此类的因素。

4、分组

分组就是在数据中先进行一些类型的分组。

关联算法会检查在历史数据中找到的分组,以便从中找到分组成员之间的模式。比如 在非常多的分组中,条目A、B、C都一起出现,根据发现的这宗模式,就可以对未来分组的构成做出预测,也就是如果A、B都在一个组,那么C也会被加入进来的可能性非常大,而我们最熟悉的 购买建议就是由关联生成的(买了yy书的人也买了xx书。。。)。

5、序列分析

序列分析用于检查一条线路的经停顺序。

首先,算法会处理过去线路的数据。

然后,算法就可以预测未来的线路了。给出一个当前的经停,算法就能确定按照所给路线前进的可能性。

序列分析经常用于网站的导航,比如 用户A在页面A商,他很可能然后就去浏览页面B,而去浏览页面C的可能性就比较小。

序列分析哈可以应用到其他类型的按照顺序发生的事件商。客户可能会按照特定的顺序来购买产品、使用服务,我们可以分析数据,从而确定客户下一步可能购买的产品,或者是感兴趣的服务。

数据挖掘的步骤是哪些呢?

1、问题定义

2、数据准备

3、训练

4、验证

最后,但正如前面说的,数据挖掘不是魔术。它预测事件并非是因为能够看到未来。相反,它只是用数学的方法,来分析在历史数据中都发生了哪些事情,从而确定如果当前的趋势继续下去,那么最可能发生什么样的情况。

然而,总是存在某些外在因素导致当前趋势不能继续下去的情况。尽管所有的其他人都遵循当前的趋势,但我们正努力分析的用户、买家或者潜在客户可能正是那个不遵循当前趋势的特例。

所以,有了数据挖掘,我们至少可以确定,在一定的置信度下,当前的趋势是什么。然后我们可以依据这些趋势来进行明智的决策。试想一下,如果没有数据挖掘,我们就不了解 趋势 和 关联如何,那么就只能通过直觉来进行决策。


相关文章
最新文章
热点推荐