最近在自学数据挖掘的知识,看的教材是《数据挖掘导论(完整版)》Pang-Ning Tan 著 。为了更好的归纳总结,开一系列DM的帖子,记录书中的重点和自己的心得。
数据挖掘(Data Mining)是一种技术,将传统的数据分析方法与处理大量数据的复杂算法相结合,现阶段主要用来支持商务智能(Business Intelligence)应用,如运维数据分析、工作流管理、用户数据分析、电商营销等,主要从杂乱庞大的数据中找出规律,发现价值。
数据挖掘本身是数据库中知识发现的一部分(Knowledge discovery in database, KDD), 而KDD是将未加工的数据转化为有用数据的整个过程。这个过程:数据预处理->数据挖掘->后期处理。数据预处理主要指数据清洗,数据格式转换,选择与当前数据挖掘任务相关的记录与特征,数据预处理过程是整个KDD过程中最费时费力的。后期处理主要是数据可视化,生成各种类型的图表和结果,以供决策。
数据挖掘主要面临的问题:
1. 数据的可伸缩性。数据量太大,内存放不下,可能需要非内存算法。
2. 高维性。数据集的的属性成百上千,计算复杂性增加。
3. 异种数据和复杂数据。数据格式杂乱无章。
4. 数据所有权与分布。分布式存储的数据,数据安全。
5. 非传统的分析。传统的分析方法是一种“假设-检验”模式,即提出一种假设,设计实验,分析实验数据是否支持假设。数据挖掘所分析的数据集通常不是精心设计的实验的结果,并且它们通常代表数据的时机性样本。
数据挖掘的任务:
预测任务:这些任务的目标是根据其他属性的值,预测特定属性的值。预测建模:分类(用于预测离散的目标变量)和回归(用于预测连续的目标变量)。
描述任务:导出数据中潜在的联系的模式(相关,聚类,趋势,轨迹,异常)。描述性任务通常是探查性的,并且常常需要后处理技术验证和解释结果。关联分析:用来发现描述数据中强关联特征的模式。所发现的模式通常用蕴含规则或特征子集的形式表示。聚类分析:旨在发现紧密关联的观测值组群,使得与属于不同簇的观测值相比,属于同一簇的观测值相互之间尽可能类似。异常检测:用于识别其特征显著不同于其他数据的观测值。