文章目录一、数据挖掘的特点二、数据挖掘的组件化思想三、决策树模型1、决策树模型建立2、树根属性选择
一、数据挖掘的特点
1 . 用于挖掘的数数据源 必须 真实 :
存在的真实数据 :数据挖掘处理的数据是典型的真实数据,而不是专门收集的数据;
数据收集 :这项工作不属于数据挖掘范畴,属于统计任务;
2 . 数据必须海量 :
少量数据处理 :少量数据采用统计方法分析,无需使用数据挖掘;
海量数据 :在处理大量数据时首次使用数据挖掘,存在高效存储、快速访问、合理显示等方面的问题;
3 . 数据挖掘的查询是随机的 :决策者(用户)提交的随机查询
要求不精确 :查询灵活,无准确要求(不能用SQL语句编写);
结果正确性未知 :查也不知道结果是否正确;
4 . 未知结果 :
挖掘结果 :数据挖掘发掘的知识未知,旨在挖掘潜在的知识、模式; 这些知识只能在特定的环境中接收、理解和利用;
知识使用 :数据挖掘中获得的知识只能用于特定领域,如金融领域的数据挖掘结果,只能用于金融领域及相关领域;
参考博客 :
【数据挖掘】数据挖掘概述|数据挖掘部署| KDD流程|数据源要求|技术特征)
二、数据挖掘的模块化思想0 . 数据挖掘算法的五个标准组件 :
模型或模式结构 :决策树模型、(信念)贝叶斯模型、神经网络模型等 数据挖掘任务 :概念描述、关联分析、分类、聚类、异常检测、趋势分析 评分函数 :误差平方和、最大似然、准确率等; 搜索和优化方法 :随机梯度下降; 数据管理策略 :数据存储区,与数据库相关;1 . 模型或模式结构 :通过数据挖掘流程获取知识; 使用模型/模式表示算法的输出格式,如:线性回归模型、层次聚类模型、频繁数组模式等;
根据2 . 数据挖掘任务分类 :数据挖掘的目标,数据挖掘任务可以分为以下类型的: 模式挖掘、描述建模、预测建模:
描述建模 和 预测建模 又称为 模型挖掘 ;
模式挖掘 :异常模式时,频繁模式;
描述建模 :聚类分析等;
预测建模 :如分类预测、趋势分析等;
3 . 评分函数 :常用的评价函数有似然函数、误差平方和、准确率等;
评分函数概念 :评价函数用于评价数据集与模型(模式)的拟合优度,值越大越好;
选择最适合 评分函数作用 :模型(模式)的参数值;
4 . 搜索和优化算法作用 :确定模型)模式及其相关参数值,以使评估函数达到某个最大(最小)值; 本质是帮助评分函数取最大(最小)值的方法;
结构确定求参数 (优化问题 ) :模型(模式)结构确定后,目的是为了确定参数值,对于固定的模式)结构,确定一组参数值以优化评估函数是一个优化问题;
结构不确定 (搜索问题 ) :搜索确定了模型(模式)的结构,并
需要确定其参数值 , 这种类型是搜索问题 ;5 . 数据管理策略 : 传统数据与大数据 ; 设计有效的数据组织与索引技术 , 通过采样 , 近似等手段 , 减少扫描次数 , 提高数据挖掘算法效率 ;
① 传统数据 ( 内存管理数据 ) : 传统的数据管理方法是将数据都放入内存中 , 少量数据 , 直接在内存中处理 , 不需要特别关注数据管理技术 ;
② 大数据 ( 集群管理数据 ) : 数据挖掘中的数据一般是 GB , TB 甚至 PB 级别的大数据 , 如果使用传统的内存算法处理这些数据 , 性能会很低 ;
确定 模型 / 模式 结构 和 评分函数 , 是人来完成 , 优化评分函数的过程是计算机完成 ;
参考博客 :
【数据挖掘】数据挖掘算法 组件化思想 ( 模型或模式结构 | 数据挖掘任务 | 评分函数 | 搜索和优化算法 | 数据管理策略 )【数据挖掘】数据挖掘算法 组件化思想 示例分析 ( 组件化思想 | Apriori 算法 | K-means 算法 | ID3 算法 )三、 决策树模型
1、 决策树模型创建
1 . 决策树模型创建 : 决策树模型创建的核心就是选择合适的树根 , 将重要的属性放在树根 , 然后子树中 , 继续选择子树中重要的属性放在子树的树根 , 依次递归 , 最终得到决策结果 ( 叶子节点 ) ;
2 . 决策树创建算法 ( 递归 ) : 使用递归算法 , 递归算法分为递归操作 和 递归停止条件 ;
3 . 递归操作 : 每个步骤先选择属性 , 选择好属性后 , 根据 总树 ( 子树 ) 的树根属性划分训练集 ;
① 选择属性 : 递归由上到下决定每一个节点的属性 , 依次递归构造决策树 ;
② 数据集划分 : 开始决策时 , 所有的数据都在树根 , 由树根属性来划分数据集 ;
③ 属性离散化 : 如果属性的值是连续值 , 需要将连续属性值离散化 ; 如 : 100 分满分 , 将 60 分以下分为不及格数据 , 60 分以上分为及格数据 ;
4 . 递归停止的条件 :
① 子树分类完成 ( 类型用完了 ) : 节点上的子数据集都属于同一个类别 , 该节点就不再向下划分 , 称为叶子节点 ;
② 属性 ( 节点 ) 全部分配完毕 ( 属性用完了 ) : 所有的属性都已经分配完毕 , 决策树的高度等于属性个数 ;
③ 所有样本分类完毕 ( 样本用完了 ) : 所有的样本数据集都分类完成 ;
2、 树根属性选择
1 . 属性选择方法 : 树根属性选择的方法很多 , 这里介绍一种常用的方法 , 信息增益 ;
2 . 信息增益 : 信息增益 效果越大 , 其作为树根属性 , 划分的数据集分类效果越明显 ;
3 . 信息 和 熵 : 涉及 信息论 的知识点 , 建议有空就去 B站 刷一下信息论课程 ;
① 信息 与 熵 的关系 : 信息 会 消除 熵 , 熵 代表了不确定性 , 信息用来消除不确定性 ;
② 信息增益 : 信息增益大的属性 , 能最大消除熵的不确定性 ;
4 . 决策树中的信息增益 : 属性的 信息增益 越大 , 就越能将分类效果达到最大 ;
如 : 想要从用户数据集中找到是否能买奢侈品的用户 , 先把高收入群体划分出来 , 将低收入者从数据集中去除 , 这个收入水平的属性 ( 特征 ) , 信息增益就很大 ;
参考博客 :
【数据挖掘】决策树算法简介 ( 决策树模型 | 模型示例 | 决策树算法性能要求 | 递归创建决策树 | 树根属性选择 )【数据挖掘】决策树中根据 信息增益 确定划分属性 ( 信息与熵 | 总熵计算公式 | 每个属性的熵计算公式 | 信息增益计算公式 | 划分属性确定 )【数据挖掘】决策树 分类 ( 抽取分类规则 | 过拟合 | 剪枝 | 先剪 | 后剪 | 连续数值离散化 | 最优化分点 | 增益率选择划分属性 )