数据挖掘与可视化
1. 大数据可视化概述
- 数据可视化是为了帮助用户通过认知数据,进而发现这些数据所反映的实质
- 数据可视化的三种
类型
- 科学可视化
- 信息可视化
- 可视化分析
- 数据可视化的
标准
通常包含:实用性、完整性、真实性、艺术性、交互性 - 数据可视化的
目标
- 应用角度:
- 通过数据可视化有效呈现数据中的重要特征
- 通过数据可视化揭示事物内部客观规律以及数据间的内在联系
- 通过数据可视化辅助人们理解事物概念和过程
- 通过数据可视化对模拟和测量进行质量监控
- 通过数据可视化提高科研开发效率
- 宏观角度:
- 数据可视化的目标主要包含有信息记录、信息分析和信息传播
- 应用角度:
- 数据可视化的
作用
- 数据表达
- 数据操作
- 数据分析
- 数据可视化的
流程
- 数据采集 -> 数据处理 -> 可视化映射 -> 用户感知
2. 数据预处理概述
- 数据的类型
- 结构化数据(日期、产品名称)
- 半结构化数据(日志文件、HTML、XML、JSON)
- 非结构化数据(文档、图片、视频、音频)
- 数据预处理流程
- 数据清洗 -> 数据集成 -> 数据归约 -> 数据变换
3. 数据分析技术
分类(有监督学习)
逻辑回归是一种分类算法(不要被带有回归二字误导了)
逻辑回归=线性回归+Sigmoid函数
Logistic/Softmax回归模型一般用于分类问题
分类问题当中正类和负类分别指什么
- 正类:模型需要检测或预测的目标类别(如疾病患者、欺诈交易、垃圾邮件)
- 负类:与正类相对的非目标类别(如健康人、正常交易、正常邮件)
评价指标
P-R曲线
- 横坐标召回率,纵坐标精确率
ROC曲线
- 横坐标假正率(FPR特异度),纵坐标是真正率(TPR灵敏度)
- 与横坐标围成的面积为AUC值,AUC值越接近于1说明模型平均性能越好
- 我们希望FP越低,TP越高越好,所以ROC曲线越抖效果越好
- 横坐标假正率(FPR特异度),纵坐标是真正率(TPR灵敏度)
准确率(Accuracy)全局视角,衡量模型整体正确率
精确率(Precision)
- 预测为正的样本中,有多少是真的
- TP / (TP + FP)
- 相当于看一列
召回率(Recall)
- 真实为正的样本中,预测对了多少
- TP / (TP + FN)
- 相当于看一行
F1值
混淆矩阵
预测为正类 预测为负类 实际为正类 TP FN 实际为负类 FP TN
回归预测(有监督学习)
- 回归的算法模型:线性回归(Linear)、岭回归(Ridge)、LASSO回归
- 最小二乘法是通过最小化平方误差求解线性模型参数的
评价指标
- 均方误差(MSE)
- 均方根误差(RMSE)
- 平均绝对误差(MAE)
- R^2
- 取值范围为[0, 1], 值越大越好
聚类(无监督学习)
聚类与分类的区别在于聚类不依赖于预先定义的类,没有预定义的类和样本——聚类是一种无监督的数据挖掘任务
聚类是把各不相同的个体分割为更多相似性子集合的工作
聚类生成的子集称为簇
聚类的分类
- 基于划分:K-means、K-medoids、K-prototype算法
- 基于密度:DBSCAN、DENCLUE、OPTICS算法
- 基于层次:BIRCH、CURE、ROCK算法
客单价是指每一位顾客平均每次消费的金额
评价指标
- 外部指标:(需真实标签)
- ARI(调整兰德指数)
- 取值范围[-1, 1], 值越大效果越好
- NMI(归一化互信息)
- 取值范围[0, 1], 值越大效果越好
- FM指数
- 取值范围[0, 1], 值越大效果越好
- ARI(调整兰德指数)
- 内部指标:(无需真实标签)
- DBI(DB指数)
- 值越小效果越好
- CH指数
- 值越大效果越好
- 轮廓系数
- 取值范围[-1, 1], 值越大效果越好
- DBI(DB指数)
- 外部指标:(需真实标签)
K-means
算法步骤
- 随机选取K个样本作为类中心
- 计算各样本与各类中心的距离
- 将各样本归于最近的类中心点
- 求各类样本的均值,作为新的类中心
- 判定:若类中心不再发生变动或达到迭代次数,算法结束,否则回到第2步
聚类的特点是什么(需要指定聚类数k)
优点
- 算法简单易用
- 聚类结果容易解释,适用于高维数据的聚类
- 对球形簇样本聚类效果好
- 二分k均值等变种算法运行良好,不受初始化问题的影响
缺点
- 不能处理非球形簇、不同尺寸和不同密度的簇
- 对离群点、噪声敏感
- 贪心策略,容易局部收敛
K-medoids
算法步骤:
- 随机选取K个样本作为类中心
- 计算各样本与各类中心的距离
- 将各样本归于最近的类中心点
- 在各类别内选取到其余样本距离之和最小的样本作为新的类中心
- 判定:若类中心不再发生变动或达到迭代次数,算法结束,否则回到第2步
算法特点:
- 需要指定聚类数k
- 克服缺点:K-means算法中异常数据会使聚类结果偏离
- 找类距离:不是计算各簇中所有样本点的平均值,而是在各簇中选取到其余样本距离之和最小的样本点
优点
- 算法简单易理解
- 对球形簇样本聚类效果好
- 对离群点、噪声不敏感
缺点
- 不能处理非球形簇,不同尺寸和不同密度的簇
- 算法复杂度较高
层次聚类
凝聚的层次聚类(自底向上)
分裂的层次聚类(自顶向下)
特点:
- 不需要事先设定类别数K
- 每次迭代过程仅将距离最近的两个样本簇聚为一类
优点
- 在系统发生树,基因芯片应用领域需要层次结构
- 研究表面,这种算法能够产生较高质量的聚类
缺点
- 计算量、存储量大
- 对噪声、高维数据敏感
密度聚类
DBSCAN(具有噪声的基于密度的聚类方法)
将具有足够密度的区域划分为簇,并在具有噪声的空间数据库中发现任意形状的簇,它将簇定义为密度相连的点的最大集合
特点
- 对噪声不敏感
- 可以处理不同形状和大小的簇
- DBSCAN算法有两个参数
- 半径(Eps)
- 阈值(MinPts):圈住点的个数
优点
- 可以对任意形状的数据集进行聚类
- 不需要提前指定聚类个数K
- 聚类的同时可以发现异常点
缺点
- 对两个参数的设置敏感:圈的半径(Eps)、阈值(MinPts)
- 对密度不均匀的数据集,聚类效果较差
- 当数据集较大,收敛时间较长,要求较大的内存支持,I/O开销大
推荐算法
- 协同过滤算法
- 基于用户的协同过滤算法
- 问题:数据稀疏,计算复杂,人是善变的,冷启动问题
- 稀疏:通常商品非常多,用户购买的只是其中极小的一部分
- 计算:计算相似度矩阵复杂
- 冷启动:新用户来了怎么办
- 引导用户把自己的一些属性表达出来
- 利用现有的开放数据平台
- 根据用户注册属性
- 推荐排行榜单
- 基于物品的协同过滤算法
- 更流行,现阶段各大网站基本都是用户较多,商品(种类)比用户少得多
- 商品属性通常比较固定,特征获取容易,而且基本不变
- 即使上架了,也会有标签,不会像用户一样是一张白纸
- 基于用户的协同过滤算法
- 相似度计算
- 欧几里得距离
- 皮尔逊相关系数
- Cosine相似度
- 隐语义模型
- 矩阵分解
- 评分矩阵 = user矩阵 × item矩阵
- 推荐系统的难点与挑战
- 需要广泛收集用户标签画像
- 人是善变的,随着时间的推移,兴趣也会改变
- 根据固定的画像数据,推荐结果不可能固定不变
- 特征工程的构建
- 商品和用户的冷启动
关联规则
支持度
- 指某个商品组合出现的次数与总次数之间的比例,支持度越高表示该组合出现的几率越大
- Sup(A, B) = freq(A, B) / N
置信度
- 表示购买了A商品后,有多大概率会购买B商品(条件概率)
- Con(A -> B) = Sup(A, B) / Sup(A)
提升度
- 商品A出现,对商品B出现概率提升的程度
- Lift(A -> B) = Con(A -> B) / Sup(B)
- Lift=1:A和B独立,无关联
- Lift>1:A和B正相关,A的出现促进B的出现
- Lift<1:A和B负相关,A的出现抑制B的出现
Apriori算法
频繁项集的所有子集必须频繁
求最大频繁项目集就是在L1出现不在L2出现,在L2出现不在
- 它本身是频繁的
- 它的所有超集(添加任意物品后)都不频繁
优点
- 简单易用
缺点
- 可能产生大量的候选集,因为采用排列组合的方式,把可能的项集都组合出来了
- 每次计算都需要重新扫描数据集,来计算每个项集的支持度
- 适合小型数据集
FP-Growth
优点
- 无候选项集产生
- 高效
- 适合大数据集
缺点
- 实现复杂
- 不直观
4. 数据可视化方法
- 常见的比较类图主要有:柱状图、气泡图、漏斗图、直方图
- 常见的分部类图有:热力图、散点图、直方图
- 常见的流程类图:漏斗图、桑基图
- 常见的占比的图:饼图、环形图、堆叠面积图、堆叠柱状图、矩形树图
- 常见的区间类图:仪表盘图、堆叠面积图
- 常见的关联类图有:和弦图、桑基图
- 常见的时间类图:面积图、K线图、折现图
- 常见的趋势类图:面积图、K线图、折线图
- 美化方法
- 柱状图
- 宽度和间隙要适当
- 排列的时候最后按照规律排列,例如按照数量从多到少进行排列,或者字母顺序
- 折线图
- 折线的颜色要清晰,尽量不要与背景颜色和坐标轴颜色相近
- 饼图
- 多数人的视觉习惯是按照顺时针和自上而下的顺序去观察,因此在绘制饼图时候建议从12点开始顺时针右边第一个分块绘制饼图最大的数据分块,可以有效强调其重要性
- 柱状图
- 如果需要表达数据之间的关联关系,可以使用散点图和气泡图
- 漏斗图可以清晰的看出每个层级的转化,例如日期与工作转换率的关系
- 文本可视化
- 基于文本内容的可视化
- 词频可视化,词汇分布可视化,常见的有词云、分布图和Document Cards
- 基于文本关系的可视化
- 树状图、节点连接的网络图、力导向图、叠式图和Word Tree
- 基于文本内容的可视化
- excel连接外部数据的主要好处是可以在excel定期分析此数据,而不用重复复制数据,复制操作不仅耗时而且容易出错
- Tableau的特点如下:
- 安全性
- 易用性
- 自助式开发
- 有效管控
- Tableau实现可视化的步骤
- 导入数据
- 添加字段到功能区
- 选择图表
- 可视化展示
- echarts可视化
- 饼图:type:’pie’
- 折线图:type:’line’
- 雷达图一般用来进行多指标体系比较分析,如成绩展示、效果对比量化、多维数据比对
5. 决策树
ID3
- 不能处理连续的特征属性的值
- 构建的可以是多叉树
- 优点
- 决策树构建速度快,实现简单
- 缺点
- 计算依赖于特征数目较多的特征,而属性值最多的属性并不一定最优
- ID3算法不是递增算法(属性不能重复选择)
- ID3算法是单变量决策树,对特征属性之间的关系不会考虑(如X1X2在一个节点)
- 抗噪性差
- 只适合小规模数据集, 需要将数据放到内存中
C4.5
- 使用信息增益率来取代ID3算法中的信息增益
- 在树构造过程中会进行剪枝操作进行优化
- 能够自动处理连续属性的离散化
- 构建的可以是多叉树
- 单变量决策树
- 优点
- 产生的规则易于理解
- 准确率较高
- 实现简单
- 缺点
- 对数据集需要进行多次顺序扫描和排序,效率比较低
- 只适合小规模数据集,需要将数据放到内存中
CART
- 使用Gini增益作为属性分割的标准
- 可用于分类和回归
- CART构建是二叉树
- 一个节点不一定要分完,可以继续分(例如x1 -> x1…这里x1就指向了x1)特征属性可以使用多次
区别
- ID3和C4.5算法都是单变量决策树,而CART支持特征属性的多次使用
- ID3使用信息增益,C4.5使用信息增益率,CART使用Gini系数
- CART算法构建的一定是二叉树,ID3和C4.5不一定是二叉树
- CART可以支持分类和回归,而ID3和C4.5不行
6. Bagging & Adaboost
算法 | 类型 | 核心思想 |
---|---|---|
Bagging | 并行式集成学习 | 通过随机采样(减少方差) |
Adaboost | 串行式集成学习 | 通过调整权重分布(减少偏差) |
大总结
评价指标 | 可视化 | |
---|---|---|
分类 | 准确率、精确率、召回率、F1值 | 混淆矩阵、ROC曲线、P-R曲线 |
回归 | MSE、RMSE、MAE、R^2 | 折线图、散点图 |
聚类 | 外部指标:ARI、NMI; 内部指标:DBI、CH指数、轮廓系数 | 散点图、聚类树状图 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Pencil!
评论