数据挖掘笔记-1

第一章 绪论


1.1 什么是数据挖掘

KDD: Knowledge Discovery in Database

数据输入->数据预处理->数据挖掘->后处理->信息获取

数据预处理包括:

  • 特征选择
  • 维归约
  • 规范化
  • 选择数据子集

后处理包括:

  • 模式过滤
  • 可视化
  • 模式表达

1.2 数据挖掘要解决的问题

  • 可深缩:着眼于数据量剧烈增长的问题
  • 高维性:对象拥有数量不少的属性
  • 异种数据和复杂数据:数据来源广泛,且结构复杂
  • 数据的所有权与分布:分布式数据处理
  • 非传统的分析:数据挖掘要求自动产生和评估假设,并且数据挖掘数据集多是时机性样本,而非随机性样本

1.4数据挖掘任务

预测任务:根据某些属性来预测另外一些属性的值。其中,用来做预测的属性被称为说明性属性(explanatory variable)或自变量(independent variable),被预测的属性被称为目标变量(target variable)或因变量(dependent variable)

描述任务:导入数据中的潜在的模式,如 相关、趋势、聚类和异常等。

更详细的说,有如下任务:

  • 预测建模(predictive modeling):以自变量为因变量建立模型,从而使得因变量的预测值与实际值误差越小越好。其中,针对离散性变量的称为分类(classification),针对连续性变量的称为回归(regression)

  • 关联分析(association analysis):用来发现描述数据中强相关的模式

  • 聚类分析(cluster analysis) :旨在发现紧密相关的对象群,使得同一簇中的对象尽可能相似,不同簇之间的对象则尽可能相异

  • 异常检测(anomaly analysis):识别其属性值明显不同于其他数据的对象,这样对象被称为异常值(anomaly) 或离群点(outlier)




第二章 数据


2.1数据类型

数据集通常可以堪为数据对象的集合。数据对象有时也可称为记录、点、向量、模式等。数据对象由一组刻画对象基本特性的属性描述,属性又可称为变量、特性、字段、特征或者维。

2.1.1度量和属性

属性:对象的性质或特征

测量标度:将数值或符号值与对象的属性相关联的规则(函数)

属性的值往往有如下性质:

  1. 相异性
  2. 加法
  3. 乘法

根据这些性质,可将属性分为四种类型:标称,叙述,区间,比率。

标称:标称属性只是用来区别不同对象的,如邮政编码、学号

序数:序数属性可以确定对象的顺序,如治疗效果、矿石硬度

区间:区间属性之间的差有意义,即有测量单位,如日历日期、摄氏度等

比率:比率属性的差与比值都有意义,如绝对温度、质量、长度


属性类型可以通过不改变属性的变换来描述,即允许的变换(permissible transformation)

标称:任何一对一的变换

序数:值的保序变换,NewValue = f(OldValue),其中f为单调函数

区间:NewValue = a∗OldValue+b,a,b为常数

比率:NewValue = a∗OldValue


另外根据属性的可能取值,可将属性分为离散的(discrete),连续的(continuous)

对于非对称的属性(asymmetric attribute),出现非零值才重要,考虑如下数据集:每个对象为一个学生,每个属性记录该学生是否选修了某项大学课程

2.1.2 数据集的类型

一般数据集的三个特性:

  • 维度:数据集中的对象具有的属性数目,数据预处理的一个重要动机是维规约。

  • 稀疏性:如具有非对称特征的数据集,只有非零值才需要处理。

  • 分辨率:如果分辨率太高,分类太细,模式可能看不到,或者掩埋在噪声里,如果分辨率太低,模式可能不出现。


数据集主要分为三类:记录数据,基于图形的数据、有序的数据

记录数据的不同类型:

  1. 事物数据或购物篮数据:非关系型数据,例如每个消费者的购物时一条记录,购物车里的所有东西构成数据集
  2. 数据矩阵:数据对象看做多维空间中的点,每个维代表描述对象的一个不同属性。
  3. 稀疏数据矩阵:文档-词矩阵

基于图形的数据:

  1. 带有对象之间联系的数据,如网页链接
  2. 具有图形对象的数据,如化学分子

有序数据:

  1. 时序数据,又叫时间数据,每个记录包含与之相关联的时间
  2. 序列数据:如基因序列
  3. 时间序列数据:如气温时间序列,要考虑时间自相关,时间接近的测量值通常非常相似
  4. 空间数据:如不同地理位置的信息,考虑空间自相关性

2.2 数据质量

数据挖掘所使用的数据往往是为其他用途收集的,或在收集时没有明确目的的。因而数据的质量往往不高。故数据处理着眼于两方面:(1)数据质量问题的检测与纠正,(2)使用可以容忍低质量数据的算法

2.2.1 测量和数据收集问题

  • 测量误差:测量过程中的问题,如系统误差,随机误差等
  • 噪声:测量误差的随机部分
  • 伪像:数据的确定性失真,如:一组图像在相同的位置出现条纹
  • 精度:(同一量的)重复测量值之间的接近程度
  • 偏倚:测量值与被测量值之间的系统变差
  • 准确度:测量值与实际值之间的接近程度,准确率的一个重要方面是有效数字
  • 离群点:离群点与噪音不同,它往往是合法的值,并且可能是人们关注的重点,如:信用卡欺诈、网络进攻等
  • 遗漏值:解决方法有 a.删除对象和属性 b.估计遗漏值 c. 在分析时忽略遗漏值
  • 不一致的值
  • 重复数据:去重复方法解决

2.2.2 关于应用的问题

  • 时效性
  • 相关性:常见问题有 抽样偏倚2
  • 关于数据的背景知识

2.3 数据预处理

数据预处理是为了改善数据挖掘的效果,减少分析时间,降低成本和提高质量。常用技术可以分为两类:(1)选择分析所需要的数据对象, (2)创建/改变属性

2.3.1 聚集

聚集(aggregation) 将两个或多个对象合并成单个对象。考虑如下数据集:一个记录一年中不同日期在不同地区的商店的日销售情况,可以用一个商店事务替换掉该商店的所有事务。

2.3.2 抽样

在数据挖掘中,抽样是因为处理所有数据的费用太高,借助抽样压缩样本量,优化数据挖掘算法的性能。 有效抽样的原理:如果样本是有代表性的,则使用样本与使用整个数据集的效果几乎一样。 常见抽样方法有简单随机抽样,包括有放回抽样、无放回抽样;分层抽样;渐进抽样3。

2.3.3 维归约

当数据集中包含大量特征(属性)时,维归约就愈加显现其好处。其主要的作用是,如果维度较低,许多数据挖掘算法的效果会更好,可以避免维灾难4;并且使得模型更易理解。 维归约的常用方法是使用线性代数技术,将数据从多维空间投影到低维空间,主要技术有 主成分分析(Principal Component Analysis, PCA) 和奇异值分解(Singual Value Decomposition, SVD)。

2.3.4 特征子集选择

通过选择属性集中的部分属性的方法,达到降低维度的目的。当存在冗余特征或不相关特征时,往往并不会损失太多信息,从而也是一种有效的降维方法。由集合论可知, n个属性有2^n−1个非空子集,故而穷举属性子集的方法是计算不可行的,实际中往往采用如下方法:

嵌入方法(embedded approach):特征选择作为数据挖掘的一部分存在

过滤方法(filter approach):使用某种独立于数据挖掘的方法,在数据挖掘算法运行之前进行特征选择

包装方法(wrapper approach):将目标数据挖掘算法作为黑盒,使用类似穷举的方法,但通常并不枚举所有子集

特征子集选择由四部分组成:子集度量评估、控制新的特征子集产生的搜索策略、停止搜索判断和验证过程。过滤方法和包装方法不同在与 子集评估度量 。 另外,除了上述三种特征子集选择的方法,还可以通过特征加权来保留或删除特征。

2.3.5 特征创建

常常可以用原有的属性创建新的属性集,更有效地捕获数据集中的重要信息。与之相关的方法有:

  • 特征提取(feature extraction):如由相片提取人脸的特征点
  • 映射数据到新的空间:如将时间域的变量变换到频率域,参见 傅里叶变换
  • 特征构造:由原始属性提取出易于数据挖掘的属性,如根据密度分辨木头金块

2.3.6 离散化和二元化

某些数据挖掘算法只适用于分类属性,此时就需要用到离散化(discretization)或二元化(binarization)


2.3.7 变量变换

变量变换(variable transformation) 是指用于变量的所有值的变换,包括:简单函数变换,标准化(standardization) 或 规范化(normalization)

第三章.探索数据

  1. 数据集
  2. 汇总统计

频率与众数 百分位数 位置度量:均值和中位数 散步度量:极差和方法 多元汇总统计 汇总数据的其他方法

  1. 可视化

第4章 分类:基本概念、决策树与模型评估 89

1 预备知识 89

2 解决分类问题的一般方法 90

3 决策树归纳 92 3.1 决策树的工作原理 92 3.2 如何建立决策树 93 3.3 表示属性测试条件的方法 95 3.4 选择最佳划分的度量 96 3.5 决策树归纳算法 101 3.6 例子:Web 机器人检测 102 3.7 决策树归纳的特点 103

4 模型的过分拟合 106 4.1 噪声导致的过分拟合 107 4.2 缺乏代表性样本导致的过分拟合 109 4.3 过分拟合与多重比较过程 109 4.4 泛化误差估计 110 4.5 处理决策树归纳中的过分拟合 113

5 评估分类器的性能 114 5.1 保持方法 114 5.2 随机二次抽样 115 5.3 交叉验证 115 5.4 自助法 115

6 比较分类器的方法 116 6.1 估计准确度的置信区间 116 6.2 比较两个模型的性能 117 6.3 比较两种分类法的性能 118

第5章.分类:其他技术 127

1 基于规则的分类器 127

1.1 基于规则的分类器的工作原理 128
1.2 规则的排序方案 129
1.3 如何建立基于规则的分类器 130
1.4 规则提取的直接方法 130
1.5 规则提取的间接方法 135
1.6 基于规则的分类器的特征 136

2 最近邻分类器 137

2.1 算法 138
2.2 最近邻分类器的特征 138

3 贝叶斯分类器 139

3.1 贝叶斯定理 139
3.2 贝叶斯定理在分类中的应用 140
3.3 朴素贝叶斯分类器 141
3.4 贝叶斯误差率 145
3.5 贝叶斯信念网络 147

4 人工神经网络(ANN) 150

4.1 感知器 151
4.2 多层人工神经网络 153
4.3 人工神经网络的特点 155

5 支持向量机 156

5.1 最大边缘超平面 156
5.2 线性支持向量机:可分情况 157
5.3 线性支持向量机:不可分情况 162
5.4 非线性支持向量机 164
5.5 支持向量机的特征 168

6 组合方法 168

6.1 组合方法的基本原理 168
6.2 构建组合分类器的方法 169
6.3 偏倚—方差分解 171
6.4 装袋 173
6.5 提升 175
6.6 随机森林 178
6.7 组合方法的实验比较 179

7 不平衡类问题 180

7.1 可选度量 180
7.2 接受者操作特征曲线 182
7.3 代价敏感学习 184
7.4 基于抽样的方法 186

8 多类问题 187

Python数据挖掘学习笔记主要包括以下几个方面的内容:Python基础知识、Python爬虫技术、Python数据分析与数据挖掘。其中,Python基础知识部分介绍了Python编程语言的基本语法、数据类型、流程控制等内容,为数据挖掘的学习打下了基础。Python爬虫技术部分介绍了如何使用Python编写爬虫程序,从网页中获取所需数据。Python数据分析与数据挖掘部分则介绍了使用Python进行数据分析和数据挖掘的相关技术和工具。 在Python数据挖掘中,还涉及到一些扩展库的使用,可以使用pip或apt-get进行安装,例如numpy库可以使用命令"sudo pip install numpy"或"sudo apt-get install python-numpy"进行安装。 另外,Matplotlib是Python中最常用的绘图库之一,主要用于绘制二维图形,也可以绘制简单的三维图形。下面是一个使用Matplotlib进行简单绘图的示例代码: ```python import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 1000) y = np.sin(x) z = np.cos(x ** 2) plt.figure(figsize=(8, 4)) plt.plot(x, y, label='$\sin x$', color='red', linewidth=2) plt.plot(x, z, 'b--', label='$\cos x^2$') plt.xlabel('Time(s)') plt.ylabel('Volt') plt.title('A Simple Example') plt.ylim(0, 2.2) plt.legend() plt.show() ``` 这段代码使用了numpy库生成了一组x轴的数据,然后分别计算了对应的y轴和z轴的数值。接下来使用Matplotlib进行绘图,其中plt.plot函数用于绘制曲线,plt.xlabel和plt.ylabel分别设置x轴和y轴的标签,plt.title设置图的标题,plt.ylim设置y轴的范围,plt.legend用于显示图例,plt.show用于显示图形。 通过学习这些内容,你可以掌握Python数据挖掘的基本知识和常用技术,为进一步的学习和实践打下坚实的基础。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python数据挖掘学习笔记](https://blog.csdn.net/yinghuoai/article/details/88392141)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python数据挖掘笔记](https://blog.csdn.net/djm82755/article/details/101452842)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值