数据挖掘算法概述

简而言之,数据挖掘算法就是对你的数据进行一些模式分析,找出一些特征性或规律性的东西。至于到底用那个模式去分析,那就要根据你的数据,选择合适算法的问题。当然,更多的时候,你是手头有数据,但不知道用哪种算法、或者不确定哪种算法最好,这时,你可以尝试多种算法,比较结果,找出最佳算法。换句话说,你先要有数据,然后你选择一个或者多个数据挖掘的算法。每个算法会依据它的原理去对你的数据查找特定类型的模式、趋势、或特征。
数据挖掘算法有许多种。至目前,Microsoft Analysis Services支持九种算法:
·       Microsoft 关联算法
·       Microsoft 聚类分析算法
·       Microsoft 决策树算法
·       Microsoft 线性回归算法
·       Microsoft 逻辑回归算法
·       Microsoft Naive Bayes 算法
·       Microsoft 神经网络算法
·       Microsoft 顺序分析和聚类分析算法
·       Microsoft 时序算法
另外,您还可以使用符合 OLE DB for Data Mining 规范的第三方算法,或者自己开发在 SQL Server 数据挖掘框架中可以注册、使用的自定义算法。

选择正确的算法

为特定的分析任务选择最佳算法很有挑战性。 您可以使用不同的算法来执行同样的业务任务,每个算法会生成不同的结果,而某些算法还会生成多种类型的结果。 例如,您不仅可以将 Microsoft 决策数算法用于预测,而且还可以将它用作一种减少数据集的列数的方法,因为决策树能够识别出不影响最终挖掘模型的列。

a.     按类型选择算法

按类型分,Analysis Services 包括了以下算法类型:
·        分类算法 (预测离散变量)- 基于数据集中的其他属性预测一个或多个离散变量。
·        回归算法(预测连续变量)- 基于数据集中的其他属性预测一个或多个连续变量,如利润或亏损。
·        分割算法 (对数据按相似性进行分类)- 将数据划分为组或分类,这些组或分类的项具有相似属性。
·        关联算法(寻找数据属性间的相关)- 查找数据集中的不同属性之间的相关性。 这类算法最常见的应用是创建可用于市场篮分析的关联规则。
·        顺序分析算法(寻找事件顺序流)- 汇总数据中的常见顺序或事件,如 Web 路径流。

SQL Server 数据挖掘使您可以在单个挖掘结构的基础上生成多个模型,这样,在单个数据挖掘解决方案内,您可以使用聚类分析算法、决策树模型和 naïve Bayes 模型来针对您的数据获取不同视图。 您还可以在单个解决方案内使用多种算法来执行单独的任务:例如,您可以使用回归来获取财务预测,并且使用神经网络算法执行销售影响因素分析。

b.    按任务选择算法

此分类与上边的类型分类有很大的重叠。

任务示例
可使用的 Microsoft 算法
预测离散属性
·        将预期购买者列表中的客户标记为好或差的潜在客户。
·        计算服务器在未来 6 个月内将出现故障的概率。
·        将患者结果分类并探讨相关因素。
预测连续属性
·        预测下一年的销售额。
·        根据过去的历史信息和季节趋势,预测网站访问者。
·        根据人口统计信息生成风险评分。
预测顺序
·        执行公司网站的点击流分析。
·        分析导致服务器故障的因素。
·        捕获和分析门诊访问期间活动的顺序,以便围绕一般的活动形成最佳做法。
查找事务中常见项的组
·        使用市场篮分析来确定产品摆放。
·        建议客户购买其他产品。
·        分析来自事件访问者的调查数据,确定哪些活动或展台是相关的,以便计划将来的活动。
查找相似项的组
·        基于人口统计信息和行为之类的属性,创建患者风险配置文件组。
·        按照浏览和购买模式分析用户。
·        标识具有相似使用特性的服务器。