R语言数据挖掘实战(1)
一、数据挖掘基础
数据挖掘:从数据中“淘金”,从大量数据(包括文本)中挖掘出隐含的、未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。
数据挖掘的任务
利用分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等方法,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。
数据挖掘建模过程
定义挖掘目标,即决定到底想干什么?
数据取样。抽取一个与挖掘目标相关的样本数据子集。抽取数据的标准:一是相关性,二是可靠性,三是有效性。衡量取样数据质量的标准包括:(1)资料完整无缺,各类指标项齐全;(2)数据准确无误,反映的都是正常(而不是异常)状态下的水平。常见抽样方法有:随机抽样、等距抽样、分层抽样、从起始顺序抽样、分类抽样等。
数据探索。数据探索和预处理的目的是保证样本数据的质量、从而为保证模型质量奠定基础。常用数据探索方法有:异常值分析、缺失值分析、相关性分析、周期性分析等。
数据预处理。当采样数据维度过大时,如何进行降维处理、缺失值处理等都是数据预处理要解决的问题。常用的数据预处理方法包括:数据筛选、数据变量转换、缺失值处理、坏数据处理、数据标准化、主成分分析、属性选择、数据规约等。
挖掘建模。本次建模属于数据挖掘应用中哪类问题(分类、聚类、关联规则、时序模式或智能推荐),选用哪种算法进行模型构建?
模型评价。从这些模型中自动找出一个最好的模型,根据业务对模型进行解释和应用。
常用数据挖掘建模工具
(1)R。
R是一种为统计计算和图形显示而设计的语言环境,是贝尔实验室的Rick Becker、John Chambers和Allan Wilks开发的S语言的一种实现。
(2)Python。
Python是一门简单易学且功能强大的编程语言,拥有高效的高级数据结构,并且能够用简单而又高效的方式进行面向对象编程。
(3)SAS Enterprise Miner
Enterprise Miner(EM)是SAS推出的一个集成的数据挖掘系统,允许使用和比较不同的技术,同时还集成了复杂的数据库管理软件。
(4)IBM SPSS Modeler
它封装了最先进的统计学和数据挖掘技术,来获得预测知识并将相应的决策方案部署到现有的业务系统和业务过程中。拥有直观的操作界面、自动化的数据准备和成熟的预测分析模型。
(5)SQL Server
Microsoft的SQL Server中集成了数据挖掘组件——Analysis Servers。在SQL Server 2008中提供了决策树算法、聚类分析算法、Naive Bayes算法、关联规则算法、时序算法、神经网络算法、线性回归算法等9中常用的数据挖掘算法。但是平台移植性相对较差。
(6)MATLAB
MATLAB是美国Mathworks公司开发的应用软件,具备强大的科学及工程计算能力,它不但具有以矩阵计算为基础的强大数学计算能力和分析能力,而且还具有丰富的可视化图形表现功能和方便的程序设计能力。
(7)WEKA
WEKA(Waikato Environment for Knowledge Analysis)是一款知名度较高的开源机器学习和数据挖掘软件。
(8)TipDM
TipDM(顶尖数据挖掘平台)使用Java语言开发,能从各种数据源获取数据,建立多种数据挖掘模型。目前已集成数十种预测算法和分析技术,基本覆盖了国内外主流挖掘系统支持的算法。