Python数据挖掘——数据挖掘概况
数据挖掘概况
什么是数据挖掘?
数据挖掘(Data mining,简称DM),是指从大量数据中,通过统计学、人工智能、机器学习等方法,挖掘出未知的、且有价值的信息和知识的过程。
数据挖掘是一门交叉学科,覆盖了统计学、数据可视化、算法、数据库、机器学习、市场营销和其他学科等知识。
数据挖掘与数据分析的区别:
项目 | 数据分析 | 数据挖掘 |
定义 | 根据分析目的,用适当的方法即工具,对收集的数据进行处理与分析,提取有价值的信息,发挥数据的作用 | 从大量数据中,通过统计学、人工智能、机器学习等方法,挖掘出未知的、且有价值的信息和知识的过程。 |
作用 | 现状分析、原因分析、预测分析 | 解决四类问题:分类、据类、关联、预测 |
方法 | 对比分析、分组分析、交叉分析、回归分析等 | 决策树、神经网络、关联规则、据类分析等 |
结果 | 指标统计量结果,如综合/平均值等 |
输出模型或规则 |
模型:定量模型:数学公式(Y=a*X) ; 定性模型:规则(年龄>30岁 and 收入> 1万元)
算法:实现数据挖掘技术、模型的具体步骤与方法。(最小二乘法、K均值法等)
数据挖掘常见问题:用户流失预测(分类)、促销活动响应(分类)、目标市场细分(聚类)、交叉销售提升(关联)、未来显示预测(预测)
分类问题:属于有监督学习,使用已知目标分类的历史样本来训练,需要对未知分类的样本预测所属的分类。
常见的分类算法:决策树、贝叶斯、KNN、支持向量机、神经网络、逻辑回归等。
聚类问题:属于无监督学习,根据物以类聚的思想将目标按一定规则进行分类。
常见的据类算法:划分聚类、层次聚类、密度聚类、网格聚类、基于模型聚类等。
关联问题:属于无监督学习,基于数据的项之间的关联,确定关联程度,识别有可能发生或频繁发生的模式(购物篮分析)。
常见的关联算法:Aprior算法、Carma算法、序列算法。
预测问题:属于有监督学习,需要已知目标值的历史样本作为训练模型,对位置的样本预测其目标值。(未来气温、GDP增长)
常见的预测算法:简单线性回归分析、多重线性回归分析、时间序列分析等。
数据挖掘流程
CRISP-DM数据挖掘方法论:商业理解—数据理解—数据准备—模型构建—模型评估—模型部署
商业理解:确定商业目标、确定挖掘目标、指定项目方案
数据理解:数据收集(数据需求/数据的重要程度/数据的提取情况)、数据描述(数据描述报告——了解数据均值/最大最小值/中值等)、数据探索(数据探索分析报告——绘制散点图/直方图,进行指标相关性分析等)、质量描述(对数据质量进行描述——摸清数据来源/真实性/是否满足建模需求)
数据准备:数据导入、抽取、清洗、合并、变量计算
模型构建:准备训练集和验证集、选择使用建模技术、建立模型、模型对比
模型评估:技术层面(设计对照组进行比较;评估指标:命中率、覆盖率、提升度等);业务经验
模型部署:营销过程跟踪记录、观察模型衰退变化、引入新的特征优化模型、模型写成程序固化到平台。