数据约简| 学习笔记

简介: 快速学习数据约简。

开发者学堂课程【高校精品课-北京理工大学-数据仓库与数据挖掘(上):数据约简】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/921/detail/15633


数据约简

 

内容介绍:

一、数据约简基本概念

二、数据约简方法

 

一、数据约简基本概念

1、定义:数据约简主要指的是根据原始的数据集得到一个规模比较小的数据集,在这个规模比较小的数据集上面,能得到和原始数据集上面几乎相同的数据挖掘结果。

2、数据约简的原因:

数据量比较大,有一些数据挖掘算法比较复杂。如果在规模比较大的数据上去,运用比较复杂的数据挖掘算法,会导致数据挖掘的效率比较低,因此通过数据约简,可以提高数据挖掘的效率。

3、数据约简的策略:

从数量上约简,从维度上约简,数据压缩

 

二、数据约简方法

1、常用的方法:包括回归聚类、抽样和主成分分析等

2、根据约简方法是否依赖参数,将数据约简方法分为两大类:

基于参数的数据约简方法和基于非参数的数据约简方法

⑴基于参数的数据约简方法:

含义:主要指的是将数据用一些模型去拟合,然后保留这些模型的参数,丢掉之前的原始数据。

⑵基于非参数的数据约简方法:

含义:不需要用模型去拟合数据。例如常用的聚类、抽样都是属于非参的数据约简方法。

3、基于线性和非线性回归的数据约简方法

⑴线性回归的模型: Y = ω X + b ( ω 、b 为参数)

image.png

⑵非线性回归的模型:拟合数据保留这些模型的参数

4、基于聚类的数据约简

基于聚类的数据约简方法,主要是使用一些聚类算法,对数据进行聚类,然后对于同一簇类的数据,可以用簇的特征,例如簇的均值、簇的半径来代表。image.png

5、抽样数据约简方法

⑴含义:抽样指的是根据原始数据集得到一个比较小规模的子集。

⑵对于抽样的原则是:要选择具有代表性的子集。

有效抽样的原则,包括:①如果这个抽样是具有代表性的,那么使用这个抽样子集,和使用原始数据集的效果是基本上相同的。

②如果这个数据子集保留了原始数据集的特性,那么这个子集就是有代表性的。

image.png

例:原始数据集和抽样子集。

image.png

由图可知:数据量少了,但两个抽样子集依然保留了原始数据集的一些基本形状和数据分布。

⑶抽样方法:无放回的抽样,有放回的抽样以及分层抽样

image.png

①无放回的抽样指的在每一次抽样中一旦一个数据元素被抽中,那么这个数据元素就要从原始数据中移走,下一次这个数据元素是不能够再被抽中。

②有放回的抽样指的是如果一个数据元素被抽中,那么这个数据元素会被放回到原始数据集中,在下一次抽样中,这个数据元素依然有可能会被抽中。

③分层抽样指的是首先将我们的原始数据集分成若干个互不交互的层,然后再在每一个层中,按一定的比例进行抽样,最后把每一个层中抽样得到的数据把它汇总在一起,得到我们的抽样子集。

6、降维的数据约简方法

维度灾难指的是随着属性的个数的增加,也就是随着纬度的增加,数据会变得越来越稀疏,导致数据挖掘效果比较差。

⑴维度约减就是通过减少属性的个数,提高我们数据挖掘的效果。

⑵好处:使用维度约减可以给数据挖掘带来很多好处,比如可以避免由维度增加造成的维度灾难,可以消除一些不相关的属性和一些噪音,以及可以提高我们数据挖掘的时间,可以提高数据挖掘的效率等等。

7、主成分分析法

⑴含义:通过主成分分析法,可以把位于高维空间中的数据点投射到低维空间中去

⑵主要步骤:首先对数据进行正则化,也就是使各个数据的量纲统一,然后可以选择 K 个正交基,其中 K 的数量要远远小于数据的初始维度 N  。第二步是选择可以代表数据的 K 个正交基,这 K 个正交基被称之为主成分。第三步是把原始数据中的每一个数据的对象用这 K 个正交基的线性组合来表达。

8、属性子集的选择

⑴含义:属性子集选择是从原始的数据集中选择一个子集,用这样的子集来代替原始的属性值。

⑵与 PCA 方法的区别: PCA 方法得到的 K 个正交基已经不是初始的属性,但是属性选择之后得到的属性子集其属性依然是原始属性集中的某一个属性。

相关文章
|
5月前
|
机器学习/深度学习
【机器学习】如何判断函数凸或非凸?(面试回答)
文章介绍了如何判断函数是凸函数还是非凸函数,包括凸函数的定义、几何意义、判定方法(一元函数通过二阶导数判断,多元函数通过Hessian矩阵的正定性判断),以及凸优化的概念和一些经典的凸优化问题。
303 1
【机器学习】如何判断函数凸或非凸?(面试回答)
|
5月前
|
C++ 容器
C++离散与组合数学之多重集合
从离散数学和组合数学的角度来看,多重集合在计算组合数、处理计数问题等方面的应用是丰富多样的。在C++中通过 `std::multiset`实现多重集合管理,可以高效地解决实际中那些涉及计数和组合的问题。在C++标准库的支持下,多重集合的使用和操作简单直观,同时也在性能上得到了充分的保证。
30 3
|
7月前
|
算法 C++
算法与数据结构高手养成:朴素的贪心法(上)最优化策略
算法与数据结构高手养成:朴素的贪心法(上)最优化策略
51 1
算法与数据结构高手养成:朴素的贪心法(上)最优化策略
|
8月前
|
人工智能 算法 C++
c++算法学习笔记 (11) 离散化
c++算法学习笔记 (11) 离散化
|
8月前
|
机器学习/深度学习 算法
R语言广义线性模型(GLMs)算法和零膨胀模型分析
R语言广义线性模型(GLMs)算法和零膨胀模型分析
|
8月前
|
算法 数据可视化
R语言中的模拟过程和离散化:泊松过程和维纳过程
R语言中的模拟过程和离散化:泊松过程和维纳过程
|
机器学习/深度学习
深度学习/花书:第十章(序列建模:循环和递归网络)
深度学习/花书:第十章(序列建模:循环和递归网络)
81 2
|
机器学习/深度学习 数据采集 算法
迁移学习「求解」偏微分方程,条件偏移下PDE的深度迁移算子学习(1)
迁移学习「求解」偏微分方程,条件偏移下PDE的深度迁移算子学习
173 0
|
机器学习/深度学习
迁移学习「求解」偏微分方程,条件偏移下PDE的深度迁移算子学习(2)
迁移学习「求解」偏微分方程,条件偏移下PDE的深度迁移算子学习
191 0
|
机器学习/深度学习 人工智能 数据库
许锦波团队开发蛋白逆折叠深度学习框架,用更少结构数据训练获得更准确序列预测
许锦波团队开发蛋白逆折叠深度学习框架,用更少结构数据训练获得更准确序列预测
176 0