机械工业出版社,张良均、王路等著
数据挖掘是从大量数据中,挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程;它是利用各种分析工具,在大量数据中寻找其规律、发现模型与数据之间关系的过程,是统计学、数据库技术、人工智能技术的综合。
数据挖掘的任务类型可以分为:数据探索、数据预处理、分类与预测、聚类分析、时序预测、关联规则挖掘、智能推荐、偏差检测等。
数据挖掘项目的一般流程:
使用Python进行数据挖掘,存在较大的缺陷,这是由于当前时代拥有井喷的海量数据,单机的Python无法处理如此大量的数据,且训练模型的速度非常之慢;在实际生产中,大量数据往往存储在HDFS上,开发者会基于Spark进行一站式的数据挖掘工作,其分布式计算的设计能大大提高计算的速度。但使用Python仍有其价值,例如在模型的快速搭建方面、demo设计方面。
常用的Python数据挖掘相关库
根据收集到的原始数,接下来要考虑的问题是:数据质量是否满足模型构建的要求?是否出现了异常的数据状态?数据有没有明显的规律和趋势?各因素各字段之间有没有什么关联性?
通过对数据集进行数据质量分析、数据特征分析,对数据的结构和规律进行分析的过程,就是数据探索。数据探索是对数据进行初步研究,发现数据的内在规律,有助于选择合适的数据预处理、数据清洗技术,也是进行模型选择的前置必要工序。
# 伪代码展示数据探索阶段,常用的函数
import pandas as pd
import matplotlib as pltdata = pd.read_excel("/home/text.xlsx")# 基本统计特征函数
data.sum() # 求和
an() # 求算数平均值
data.var() # 求方差
data.std() # 求标准差
(method='person') # 求相关系数的矩阵
v() # 求协方差矩阵
data.skew() # 偏度(三阶矩)
data.kurt() # 峰度(四阶矩)
data.describe() # 给出数据值的基本描述,包括最大值、最小值、平均值、标准差、四分位数、中位数等# 拓展统计特征函数
data.cumsum()
data.cumprod()
data.cummax()
data.cummin()
pd.rolling_sum()
pd.rolling_mean()
pd.rolling_var()
pd.rolling_std()
pd.rolling_corr()
pd.rolling_cov()
pd.rolling_skew()
pd.rolling_kurt()# 统计作图函数
plt.figure(figsize = (7, 5)) # 创建图像区域
plt.plot() # 折线图
plt.pie() # 饼图
plt.hist() # 二维直方图
plt.boxplot() # 箱型图
plt.plot(logy = True) # y轴的对数图
plt.plot(yerr = True) # 误差条形图
plt.show()
对原始数据进行预处理,提高数据质量,从而提升模型的训练效果。在数据挖掘的过程中,数据预处理的工作量占到整个过程的60%
数据仓库的工作,这里略过。
数据变换主要是对数据进行规范化处理,将数据转化为适当的形式,以适用于挖掘任务和算法的需要。
y = (x - min) / (max - min)
y = (x - mean) / std
y = x / (10 ^ k)
在极大的数据集上,进行复杂的数据挖掘,需要花费很长的时间;而数据规约可以产生更小但保持原数据完整性的新数据集,在规约后的数据集上进行分析和挖掘将大大提升其效率。数据规约的意义有:
降低无效、错误数据维度对建模的影响;
通过少量、且具有代表性的数据训练模型,大幅减少训练时间;
降低数据存储的成本;
属性规约。属性规约通过属性合并来创建新维度,或者直接通过删除不相关的的属性来减少维度。属性规约的目的是,寻找出最小的属性子集,并确保新数据子集的概率分布尽可能的接近于原来数据集的概率分布。属性规约常用的方法如下:
数值规约。根据属性的取值范围,将取值类型变小,有点类似于连续属性的离散化;
经过上述的数据探索、数据预处理,得到了直接用于建模的数据。接下来根据业务目标,建立对应的数据挖掘模型。数据挖掘基于机器学习和统计学,和业务的结合异常紧密;在业务上,可以将数据挖掘的情景分为几类:分类与预测、聚类分析、关联规则、时序模型、离群点检测。
这本书的这一章中,算法讲的非常粗略。其章节的分类,是按照实际的业务情景来展开描述的;具体的要理解某种算法,需要结合西瓜书、《统计学习方法》、博客来进行。但是demo代码是可以参考的。
分类与预测是预测问题的两种主要类型,它们都属于监督学习,其中,预测又被称为回归。分类问题预测的是离散值,例如预测一名客户的性别;回归问题预测的是连续值,例如预测一名学生的成绩。
与分类不同,聚类是在没有给定划分类别的情况下,根据数据相似度进行样本分组的一种方法。聚类模型可以建立在无标记的数据上,因此属于非监督学习。
“啤酒与尿布”问题。
本文发布于:2024-01-28 15:01:38,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064253028250.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |