《数据挖掘》读书笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Data Analysis: with open source tools》
第18章预测分析读书笔记
一、全书概况
1.作者简介
本书作者是Philipp K. Janer,他凭借着自己多年来担任物理学家和软件工程师的经验,为数据分析和数学建模提供咨询服务。他是Gnuplot in Action:Understanding Data with Graphs(Manning出版)的作者,也在O’Reilly Network、IBM developerWorks和IEEE Software发表过大量文章,拥有华盛顿大学理论物理学博士学位。
2.本书大纲
本书中文名为《数据之魅:基于开源工具的数据分析》,共分为四个部分19章节。
第一部分为1-6章,讲述的是如何通过图表技术来观察数据,分别介绍了单变量、双变量、时间序列、多变量的图表技术应用。第二部分为7-11章,讲述了如何通过各种建模方法来分析数据,讨论了数量级估计和不确定性因素、开发模型的基本组件。第三部分为12-15章,着重阐述如何进行数据挖掘,如何运用模拟、聚类等方法挖掘有用的知识。第四部分为16-19章,强调数据分析在商业和金融等领域的实际应用。另外,本书每章的最后都有一个标题为“工作坊”的小节,介绍通过各种开源工具和源码库来实践当前章节所讲述的理论,例如Python、R、gnuplot、Sage等。
本书包含大量的模拟过程及结果展示,并通过实例来阐述如何使用开源工具来进行数据分析。通过本书的阅读,笔者可以清楚地了解这些方法的实际用法及用途。
二、第18章预测分析
本章讨论的是如何直接根据数据来进行预测。在第二部分中,作者介绍了通过构造某种概念模型来进行预测的方法,但当环境复杂时,我们可能面临着没办法构造概念模型的问题,所以本章的预测法很好的解决了这一难题。
预测分析用于描述直接从数据中获取预测信息为目的的各种任务,其中以下三个应用领域比较突出,分别是:1)分类或者监督学习。将每个纪录分配到已知的已经定义好的类集合中,如垃圾邮件的过滤;2)聚类或无监督学习。将纪录归并为簇,但簇是未知的。3)推荐。根据以往的兴趣或者习惯来推荐一个合
适的项目。其中,分类毋庸置疑是最重要的领域也是研究最深入的领域,本章概括性的介绍最重要的几种分类算法和技术。
1.六种主要的分类算法
1)基于实例的分类和最近邻分类算法
基于实例的分类算法,即为了对一个未知的实例分类,为新实例寻找“最相似”的现有实例,分配已知实例的类标签给新实例。基于实例的分类没有一个独立的训练阶段,分类中唯一可以调节的参数是邻节点的个数k,因此分类的代价很昂贵。
2)贝叶斯分类器
贝叶斯分类器采用的是一种概率性的分类法。给定一组属性,它计算实例属于这个或者哪个类的概率,然后一个实例被分配给概率最高的那个类标签。贝叶斯分类器计算条件概率,给定一组特征的应用以及训练集合中可以完全确定的完整的表达式,能够表示一个实例属于类C的概率。但在实际中,直接估算这个概率几乎不可能。朴素贝叶斯大大简化了问题,使得只需要一次确定一个单独属性中的属性值出现的概率。贝叶斯网络也可以达到不错的效果,因为可以只保留那些彼此间由因果关系的组合,修剪掉所有可能的特征组合,
3)回归
回归分析指的是,当类标签和特征集合之间存在函数关系时,可以在这种关系上通过调整对数据的一个合适的函数来建立一个分类器。通常会利用逻辑函数作为一个光滑的逼近代替阶梯函数。逻辑回归同所有的回归分析方法一样,是一种全局技术,试图优化所有点的调整,而不是只适用于一个特别相关的子集上。4)支持向量机
支持向量机是基于一种简单的几何构造的的算法。在二维特征空间的训练实例中,我们选择“最好的”分界线(通常是曲线而非直线)来划分实例属于这个类而不是属于另一个类。支持向量机给出的答案时“最好的”分界线。支持向量机首先把寻找决策边界的任务转化为从一组点中构造一条线的集合任务,再寻找拥有最大边缘的决策边界。另外,支持向量机的一个重要特性是它执行严格的全局优化,能够找出最优超平面。
5)决策树和基于规则的分类器
决策树和基于规则的分类器又被称为非度量性分类器,因为它们不需要计算距离。决策树由一个决策点(树的节点)的层次结构构成。使用决策树归类一个未知的实例时,在每个树节点检查一个单一的特征。基于该特征值,选择下一个节点。树的业节点对应类,一旦达到一个叶节点,待归类的实例就都已分配有相
应的类标签。从训练集获得决策树的主要算法采用的是贪婪算法。它不能保证会找到最佳解决方案,但能确保解决方案尽可能的好。
决策树和基于规则的分类器之间存在这等价关系。后者包含一组规则(即对属性值的逻辑条件),在进行集合分类时,就根据它来决定一个测试实例的类标签。
6)其他分类算法
线性判别分析法,它和主成分分析法(PCA)类似。
人工神经网络,其思路是构造一个节点网络;每个网络从其他几个节点接受输入,构成其输入的权重平均值,然后将其发送到下一层节点。在学习阶段,调整权重平均值中用到的权重,以尽量减少训练误差。
2.主要的技术
1)集成方法:Bagging和Boosting
集成方法指的是为了提高精确度,而将单独的或者“基础的”分类器的结果联合起来的一组技术。其基本原理是,只要是独立进行的实验就可以进行预期,因为错误会被消除,平均结果会比单独试验的结果更精确。
Bagging是引导思路在分类方面的应用。通过放回抽样这种方式从原始的训练集产生额外的训练集。最终的类标签将基于多数决定少数或者类似技术进行分配。Boosting是另一种利用引导方法来产生额外训练集的技术。与Bagging不同的是,Boosting是一个迭代的过程,它给前几轮中错误分类的实例赋予较高权重,最后的结果有迭代过程中所有基本分类器产生的结果集合组成。
2)估计预测误差
由于训练错误率通常不能很好的衡量分离器再新的数据上能达到的精确度。所以在训练过程中,通常会保留一些数据,用于之后的测试集合。分类器在测试集合中所达到的错误率可作为泛化错误率。
如果集合中的可用数据较少,则可进行交叉验证。基本思路是将随机分成同样大小的k个块的原始数据,执行k次训练和测试运行。每次运行时从训练集合中留出一个块,将其用于测试集合。最后取k次运行中得到的泛化错误率平均值,以获得预期的整体泛化错误率。
3)类不平衡问题
在数据集合中,会出现我们感兴趣的类比其他类出现的频率小很多的情况。这种类的实例称为正事件,这个类本身称为正类。
评价分类器的惯用衡量标准,例如精确度、误差率,在有明显的类不平衡时