最近正打算学习一些数据挖掘方面的知识,开始看了一些相关博文,但是太过零碎,一直对此没有一个较为系统的认识。周末在图书馆闲逛,偶然看见《大话数据挖掘》一书,发现讲的比较有条理,还蛮适合入门的,因此就读了两章,作此笔记。本文只是介绍了数据挖掘入门的一些算法分类,不涉及具体算法实现。
一下是整理的算法分类图:
1、关联
关联是指一个事件与另一个事件之间的依赖关系。如经典的尿布与啤酒的关系。
apriori算法是最经典的关联规则算法,基本思想是:首先从事件中集中找到所有频繁出现的子集。然后在这些子集中发现可信度较高的规则。
2、聚类
聚类就是将对象划分成若干个类,在同一类中对象具有较高的相似度,不同类中对象差异较大。
基于对象间距离可以分为两类算法:划分方法(Partitioning Method)和层次聚类方法(Hierarchial Method)。前者的思想是:迭代计算各点到类中心点距离,类内数据点越近越好,类间点越远越好。后者思想是:将对象分层建立簇,形成一颗以簇为节点的树,自下而上的是聚集的层次聚类,自上而下的是分裂的层次聚类。
3、预测
预测是通过对反映了事物输入和输出之间的关联性的学习,得到预测模型,再利用该模型对未来数据进行预测的过程。如机器学习的一个简单模型:输入数据为(x1,y1),(x2,y2)...(xn,yn),通过输入数据的学习,可以得到模型y=f(x,β)中的β,从而对于新数据我们可以通过x确定y值。
具体的预测算法有很多,各自的效果和实现自行百度吧。
4、序列和时间序列
序列是指被排成一列的对象,即有序对象。而时间序列则是以时间来区隔的序列。由于序列与关联关系很密切,所以序列前边的值很可能影响序列后边的值,对于时间序列而言就和回归分析很像了。
这里列出的只是书中给出的,仅是一些比较有代表性的入门算法,实际每个分类下还有很多算法或变种,比如预测中比较常用的还有邻近法和朴素贝叶斯等,这里不再给出。此外本篇主要是给出这些算法概念,看了之后可能不知所云,所以如果真要深入了解,就需要去查对应算法相关的资料了。