数据挖掘知识点复习

一、选择题15*2’

2b26edb18f8f4d75b9f4efdc6abf0afd.png

60ee5d45cfe143a19d5fd6dcd5f93641.png

处理噪声数据:(分箱、回归分析、聚类分析)

维度规约:小波变换和主成分分析

数值规约:回归和对数线性模型、直方图、聚类、抽样

数据挖掘的概念

数据挖掘,又称数据挖掘技术或数据挖掘分析,是一种通过分析大量数据来发现模式、趋势和关联的技术。它通常涉及到以下几个步骤:

 

1. **数据预处理**:这是数据挖掘的第一步,包括数据清洗(去除错误和不一致的数据)、数据集成(合并来自不同来源的数据)、数据选择(选择与分析任务相关的数据子集)以及数据变换(将数据转换成适合挖掘的形式)。

 

2. **数据探索**:在数据预处理之后,通过数据可视化和简单统计分析来更好地了解数据的基本特性,为建模和算法选择提供信息。

 

3. **模式发现**:使用各种数据挖掘算法来发现数据中的模式。这些模式可以是分类(将数据分为不同的类别)、聚类(将数据分组,使得同一组内的数据相似度高,不同组之间的数据相似度低)、关联规则学习(发现变量之间的有趣关系)、异常检测(识别数据中的异常或离群点)等。

 

4. **模型和假设测试**:构建模型来预测或描述数据,并进行统计测试来验证这些模型的有效性。

 

5. **知识表示**:将挖掘出的知识以容易理解的形式呈现给用户,这可能包括可视化技术、报告生成或将知识集成到决策支持系统中。

机器学习的概念

机器学习是人工智能的一个分支,它使计算机系统能够从经验中学习并改进它们的性能。简单来说,机器学习涉及到开发算法和统计模型,这些模型能够从数据中学习,而不需要进行明确的编程指令。以下是机器学习的一些关键概念:

 

1. **数据**:机器学习的基础是数据。数据可以是结构化的(如表格数据)或非结构化的(如文本或图像)。

 

2. **特征**:特征是从原始数据中提取的有用信息,它们是机器学习模型用来进行预测或分类的输入变量。

 

3. **模型**:模型是机器学习算法的实现,它根据输入的特征来做出预测或决策。常见的模型包括决策树、支持向量机、神经网络等。

 

4. **训练**:训练是使用数据集来训练模型的过程。在这个过程中,模型学习如何根据输入的特征来预测输出。

 

5. **测试和验证**:在模型训练完成后,需要使用独立的测试集来评估模型的性能。这有助于确保模型不会过拟合(即在训练数据上表现良好,但在新数据上表现差)。

 

6. **监督学习**:在监督学习中,模型从标记的训练数据中学习,即每个训练样本都有一个已知的输出标签。常见的任务包括分类和回归。

 

7. **无监督学习**:在无监督学习中,模型处理的数据没有标签。模型需要自己发现数据中的结构和模式,如聚类分析。

 

8. **半监督学习**:这是一种介于监督学习和无监督学习之间的方法,其中模型使用少量标记数据和大量未标记数据进行训练。

 

9. **强化学习**:在强化学习中,模型通过与环境的交互来学习最佳行为策略,以最大化某种累积奖励。

 

10. **过拟合与欠拟合**:过拟合是指模型在训练数据上表现很好,但在新数据上表现差;欠拟合是指模型在训练数据上表现不足,无法捕捉数据的基本趋势。

 

11. **泛化**:泛化能力是指模型对新、未见过的数据做出准确预测的能力。

 

机器学习的应用非常广泛,包括图像识别、自然语言处理、推荐系统、医疗诊断、股市分析等。随着技术的发展,机器学习在各个领域的影响力越来越大。

 

聚类算法的概念:哪些是聚类算法

聚类算法是一种无监督学习技术,用于将数据集中的样本划分为若干个簇,使得同一簇内的样本相似度高,而不同簇之间的样本相似度低。聚类不依赖于预先标记的数据,目的是发现数据的内在结构。

dbscan思想、EM期望最大化(用高斯模型)、K-mean算法思想(12.2)和模糊K-mean也是期望最大化

 

K-mean算法(12.2)

K-means算法是一种常用的聚类分析方法,属于无监督学习。其目标是将数据集划分为K个簇(cluster),使得每个簇内的数据点尽可能相似,而簇与簇之间的数据点尽可能不同。以下是K-means算法的基本步骤:

 

1. **选择K值**:确定要将数据集划分为多少个簇。K值的选择可以基于肘部法则(Elbow Method)、轮廓系数(Silhouette Coefficient)等方法。

 

2. **初始化中心点**:随机选择K个数据点作为初始的簇中心点(centroids)。

 

3. **分配数据点**:将每个数据点分配到最近的簇中心点,形成K个簇。

 

4. **更新簇中心点**:计算每个簇中所有数据点的均值,将该均值作为新的簇中心点。

 

5. **重复分配和更新**:重复步骤3和4,直到簇中心点不再发生显著变化,或者达到预设的迭代次数。

 

6. **聚类完成**:当簇中心点稳定后,聚类过程结束,得到最终的簇划分。

 

K-means算法的优点包括:

 

- 简单易懂,易于实现。

- 在数据集较大时,计算效率较高。

 

然而,K-means算法也有一些局限性:

 

- 对初始簇中心点的选择敏感,可能导致局部最优解。

- 需要预先指定K值,而K值的选择可能依赖于领域知识。

- 对于非球形簇或大小差异较大的簇,聚类效果可能不佳。

- 对噪声和异常点比较敏感。

 

为了解决K-means的一些局限性,出现了一些变体和改进算法,如K-means++(改进的初始化方法)、模糊C均值聚类(允许数据点属于多个簇)等。

DBSCA算法

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,它能够将具有足够高密度的区域划分为聚类,并将低密度区域的点视为噪声或离群点。DBSCAN的主要特点和步骤如下:

 

### 主要特点:

1. **无需指定簇的数量**:DBSCAN不需要预先指定簇的数量,它自动将数据分为高密度区域和低密度区域。

2. **对任意形状的簇有效**:DBSCAN可以识别任意形状的簇,不受簇形状的限制。

3. **能够识别离群点**:DBSCAN将低密度区域的点视为离群点,而不是简单地将它们归入某个簇。

 

### 算法步骤:

1. **定义参数**:选择两个参数,`ε`(epsilon,邻域半径)和`MinPts`(最小点数),这两个参数决定了点的密度。

 

2. **核心点的识别**:对于每个点,找到其`ε`邻域内至少包含`MinPts`个点的点,这些点被称为核心点。

 

3. **簇的生成**:对于每个未访问的核心点,进行密度可达性搜索,将所有密度可达的点连接起来形成簇。如果一个点的`ε`邻域内包含的核心点数量足够多,它将被添加到当前簇中。

 

4. **离群点的识别**:如果一个点不是任何核心点的密度可达的,它将被视为离群点。

 

5. **迭代处理**:重复上述过程,直到所有点都被访问过。

 

### 优点:

- 自适应地识别任意形状的簇。

- 能够识别并处理离群点。

- 不需要预先指定簇的数量。

 

### 缺点:

- 对参数`ε`和`MinPts`的选择敏感,这两个参数需要根据具体数据集进行调整。

- 在高维数据上效果不佳,因为高维空间中的点更稀疏。

- 计算复杂度较高,尤其是在数据量大时。

 

DBSCAN算法适用于那些数据点分布不均匀或簇形状不规则的场景,但在使用时需要仔细选择参数,以获得最佳的聚类效果。

系统聚类

系统聚类,也称为层次聚类(Hierarchical Clustering),是一种将数据点逐步分组的聚类方法。与K-means或DBSCAN等算法不同,系统聚类不需要预先指定簇的数量,而是生成一个层次化的簇结构,即树状的聚类图(dendrogram),从而允许用户根据需要选择不同的簇数量。系统聚类分为两种主要类型:

 

1. **凝聚式(Agglomerative)聚类**:

   - 这是一种自底向上的方法,开始时每个数据点都是一个单独的簇。

   - 然后算法寻找最近的两个簇并将其合并,重复此过程,直到所有数据点最终合并成一个大簇或达到某个停止条件。

 

2. **分裂式(Divisive)聚类**:

   - 这是一种自顶向下的方法,开始时所有数据点被视为一个簇。

   - 然后算法将这个大簇分成两个较小的簇,继续这个过程,直到每个数据点都是一个单独的簇或达到某个停止条件。

 

### 凝聚式聚类的步骤:

1. **初始化**:将每个数据点视为一个单独的簇。

2. **计算距离**:计算所有簇之间的距离。常用的距离度量包括欧氏距离、曼哈顿距离等。

3. **合并最近的簇**:找到距离最近的两个簇并合并它们,形成一个新的簇。

4. **更新距离矩阵**:更新簇之间的距离矩阵,以反映新合并的簇与其他簇之间的距离。

5. **重复合并**:重复步骤2-4,直到达到所需的簇数量或所有点合并成一个簇。

 

###凝聚式(Agglomerative)聚类**具体过程:
1.每个样本观测点自成一类

2.计算所有样本观测点之间的距离,并将其中距离最近的点聚成一个小类,得到N-1个小类

3.度量剩余样本观测点彼此间的距离,并将其中距离最近的点或小类再聚成一个小类。

4.重复上述过程,不断将所有样本观测点和小类聚集成越来越大的列,直到所有点“凝聚”到一起,形成一个最大的类为止。对于N个类,需要经N-1次“凝聚”形成一个大类。

### 分裂式聚类的步骤:

1. **初始化**:将所有数据点视为一个簇。

2. **选择分裂点**:选择一个簇进行分裂,通常选择直径最大的簇或基于其他标准。

3. **分裂簇**:将选定的簇分裂成两个或多个较小的簇。

4. **更新簇结构**:更新簇的层次结构,以反映新的分裂结果。

5. **重复分裂**:重复步骤2-4,直到每个数据点都是一个单独的簇或达到某个停止条件。

 

### 系统聚类的优点:

- 不需要预先指定簇的数量。

- 可以处理不同形状和大小的簇。

- 能够生成层次化的簇结构,便于可视化和解释。

 

### 系统聚类的缺点:

- 计算复杂度较高,尤其是对于大型数据集。

- 对于凝聚式聚类,合并过程是不可逆的,一旦合并就无法撤销。

- 对距离度量的选择敏感,不同的度量可能导致不同的聚类结果。

 

系统聚类适用于探索性数据分析,以及当簇的数量和形状未知时。通过构建树状的聚类图,用户可以直观地观察数据的层次结构,并根据需要选择不同的簇数量。

EM聚类

EM聚类,即期望最大化(Expectation-Maximization)聚类,是一种基于概率模型的聚类方法。它通常用于高斯混合模型(Gaussian Mixture Model, GMM)来发现数据中的潜在分布。EM聚类通过迭代过程来估计数据的隐变量(即簇的成员资格)和模型参数(即簇的中心和协方差),直到收敛。

### EM聚类的步骤:

1. **初始化**:随机选择初始参数,包括簇中心、协方差矩阵和每个簇的先验概率。

 

2. **E步骤(期望步骤)**:

   - 对于每个数据点,计算其属于每个簇的概率,这些概率基于当前的模型参数。

 

3. **M步骤(最大化步骤)**:

   - 使用E步骤中计算的概率,重新估计模型参数,包括簇中心、协方差矩阵和先验概率,以最大化数据的似然函数。

 

4. **迭代**:重复E步骤和M步骤,直到模型参数的变化非常小或达到预设的迭代次数,表示算法收敛。

 

5. **聚类完成**:最终的簇中心和协方差矩阵定义了数据的聚类结构。

 

### EM聚类的关键点:

 

- **高斯分布**:EM聚类通常假设每个簇的数据遵循高斯分布,因此需要估计每个簇的均值和协方差矩阵。

- **软聚类**:与K-means的硬聚类不同,EM聚类允许数据点以不同的概率属于多个簇,这被称为软聚类。

- **收敛性**:EM算法是迭代的,通常会收敛到局部最优解,但不保证全局最优。

 

### EM聚类的优点:

 

- 能够处理数据的不确定性和重叠性。

- 适用于发现数据的潜在分布。

- 可以处理不同形状和大小的簇。

 

### EM聚类的缺点:

 

- 对初始参数敏感,可能导致局部最优解。

- 需要选择簇的数量,虽然可以通过贝叶斯信息准则(Bayesian Information Criterion, BIC)等方法来辅助。

- 计算复杂度较高,尤其是在簇的数量较多或数据量大时。

 

K-mean、DBSCAN、系统聚类、EM聚类之间的异同点

EM聚类在许多领域都有应用,包括图像分割、语音识别、生物信息学等。它特别适用于那些数据点分布复杂或存在重叠的情况。然而,由于其计算成本和对初始参数的敏感性,实际应用中可能需要仔细调整和优化。

上述四种聚类算法——K-means、DBSCAN、系统聚类(层次聚类)、EM聚类——各有其特点和适用场景。以下是它们的一些主要异同点:

 

### 相同点:

1. **目的**:所有这些算法都旨在将数据集中的点分组到不同的簇中,以揭示数据的内在结构。

2. **无监督**:这些聚类算法都是无监督的,意味着它们不需要预先标记的训练数据来学习模型。

 

### 不同点:

1. **簇的数量**:

   - K-means需要预先指定簇的数量(K值)。

   - DBSCAN不需要预先指定簇的数量,但需要指定邻域半径和最小点数。

   - 系统聚类不预先指定簇的数量,而是生成一个层次化的簇结构。

   - EM聚类通常需要指定簇的数量,但可以使用模型选择准则来辅助选择。

 

2. **簇的形状**:

   - K-means倾向于将数据划分为类球状簇。

   - DBSCAN可以识别任意形状的簇,包括沿直线分布的簇。

   - 系统聚类可以适应不同形状的簇,但可能对噪声更敏感。

   - EM聚类适用于高斯分布的簇,可以处理不同形状和大小的簇。

 

3. **对噪声的处理**:

   - K-means对噪声敏感,可能会将噪声点错误地分配到簇中。

   - DBSCAN能够识别并处理离群点,将它们视为噪声。

   - 系统聚类对噪声敏感,可能会影响簇的层次结构。

   - EM聚类可以处理噪声,但可能需要更多的迭代来收敛。

 

4. **算法类型**:

   - K-means是一种迭代优化算法,通过最小化簇内距离来优化簇中心。

   - DBSCAN是一种基于密度的聚类算法,通过密度可达性来定义簇。

   - 系统聚类是一种层次聚类算法,通过逐步合并或分裂来构建簇层次。

   - EM聚类是一种基于概率模型的聚类算法,通过迭代估计模型参数。

 

5. **计算复杂度**:

   - K-means通常具有较低的计算复杂度,适合大规模数据集。

   - DBSCAN的计算复杂度较高,尤其是在数据点密集的区域。

   - 系统聚类的计算复杂度取决于树的构建方式,可能很高。

   - EM聚类的计算复杂度较高,尤其是在簇的数量较多时。

 

6. **收敛性**:

   - K-means通常收敛速度快,但可能收敛到局部最优解。

   - DBSCAN不涉及参数优化,但对参数选择敏感。

   - 系统聚类不涉及参数优化,但层次结构可能不稳定。

   - EM聚类可能需要更多迭代来收敛,且可能收敛到局部最优解。

 

7. **适用场景**:

   - K-means适用于大规模数据集和球形簇。

   - DBSCAN适用于任意形状的簇和包含离群点的数据集。

   - 系统聚类适用于探索性数据分析和层次结构的可视化。

   - EM聚类适用于高斯分布的簇和需要概率解释的场景。

 

每种聚类算法都有其优势和局限性,选择合适的算法需要考虑数据的特性、聚类的目标以及算法的计算成本。在实际应用中,可能需要尝试多种算法,以找到最适合特定数据集和任务的聚类方法。

衡量分类的指标:混淆矩阵的概念(重点196-197)

混淆矩阵(Confusion Matrix)是一个表格,用于描述分类模型的性能。它特别适用于监督学习中的分类问题,通过比较模型预测的类别和实际的类别来评估模型的准确性。

9b573abd95c748c891ea08077a97bafc.png

决策树分类过程

决策树是一种监督学习算法,用于分类和回归任务。在分类问题中,决策树通过一系列的问题将数据分割成不同的分支,最终达到可以预测目标变量的叶节点。以下是决策树分类过程的一般步骤:

 

1. **特征选择**:

   - 在每个节点,决策树算法需要选择一个特征来进行分割。特征选择的目的是找到一个特征,使得基于该特征的分割能够最大化数据的目标变量的同质性。

 

2. **分割数据集**:

   - 根据所选特征及其阈值,将数据集分割成两个或多个子集。这个分割过程通常基于特征值的比较(例如,小于或大于某个阈值)。

 

3. **构建树的节点**:

   - 每个分割的数据子集成为一个节点(如果是一个叶节点,则为分类结果;如果是一个内部节点,则继续分割)。

 

4. **递归分割**:

   - 对每个分割得到的子集重复步骤1-3,直到满足停止条件,例如:

     - 达到预设的最大树深度。

     - 所有数据点属于同一类别。

     - 子集中的数据点数量低于某个阈值。

     - 没有足够的信息增益来进行进一步的分割。

 

5. **剪枝**:

   - 为了防止过拟合,决策树算法通常会进行剪枝操作,包括预剪枝(在生长过程中剪枝)和后剪枝(在生长完成后剪枝)。

 

6. **输出决策树**:

   - 最终,得到一个决策树模型,它可以通过一系列的问题来预测新数据点的类别。

 

7. **分类新数据**:

   - 当有新数据需要分类时,从决策树的根节点开始,根据特征的值沿着树向下移动,直到达到一个叶节点,该叶节点的类别即为预测结果。

 

### 决策树分类的关键概念:

 

- **信息增益**:是决策树中常用的一种特征选择方法,用于评估特征分割数据集的效果。信息增益高的特征更有可能被选择用于分割。

- **基尼不纯度**:另一种特征选择方法,用于衡量数据集中的不确定性或不纯度。

- **熵**:信息论中的一个概念,用于衡量数据的不确定性。决策树中使用熵来评估数据集的初始不纯度。

- **特征重要性**:在决策树中,特征的重要性通常由它们在树中的位置和频率来确定。

 

### 优点:

- 决策树模型易于理解和解释。

- 可以处理数值型和类别型数据。

- 对数据的准备要求不高。

 

### 缺点:

- 容易过拟合,特别是在数据特征多或数据点少的情况下。

- 对于某些类型的数据,构建的树可能很深,导致分类效率降低。

 

决策树是一种强大的分类工具,尤其适用于需要模型可解释性的场景。然而,为了提高模型的泛化能力,通常需要使用剪枝技术或集成多个决策树(如随机森林)来减少过拟合。

有监督学习概念

有监督学习是一种机器学习范式,其中模型从标记的训练数据中学习,以便能够预测或决定未见过数据的输出。这些训练数据包括输入特征和对应的期望输出。通过学习这些数据,模型能够识别数据间的模式,并在给定新输入时做出准确的预测。常见任务包括分类(将数据分为不同的类别)和回归(预测连续值)。

无监督学习概念

无监督学习是机器学习中的一种方法,它处理的数据没有标签或标记。算法尝试自行发现数据中的结构、模式或分布,常见的任务包括聚类和关联规则学习。由于缺乏指导信息,无监督学习旨在探索数据的内在特性和关联,常用于数据压缩、异常检测和发现隐藏的模式。

离群点概念

离群点(Outlier)是指在数据集中显著偏离其他观测值的点。它们可能由于测量误差、数据录入错误、实验设计不当或真实的变异性而产生。离群点在数据分析中非常重要,因为它们可能影响统计分析的结果,包括均值、方差等统计量的计算,以及机器学习模型的性能。

 

### 离群点的特点:

1. **异常性**:离群点与数据集中的其他点相比具有显著差异。

2. **稀有性**:数据集中的离群点数量通常较少。

3. **影响性**:离群点可能会对分析结果产生不成比例的影响。

 

### 离群点的检测方法:

1. **标准差法**:基于数据的均值和标准差来识别离群点。

2. **箱型图(Boxplot)**:利用四分位数和四分位距来识别离群点。

3. **密度基方法**:基于数据点的局部密度与其他点的比较来识别离群点。

4. **基于距离的方法**:如K-最近邻(KNN)算法,通过测量数据点与其他点的距离来识别。

5. **基于聚类的方法**:如DBSCAN,通过数据点的密度可达性来识别离群点。

 

### 离群点的处理:

1. **删除**:如果离群点是由于错误产生的,可以将其从数据集中删除。

2. **修正**:如果离群点是由于可识别的错误产生的,可以尝试修正这些错误。

3. **保留**:如果离群点代表了重要的变异性或异常情况,可能需要保留它们以进行进一步分析。

4. **加权**:在某些模型中,可以对离群点进行加权,以减少它们对分析结果的影响。

 

离群点的检测和处理是数据分析中的重要步骤,有助于提高模型的准确性和可靠性。

数据挖掘的步骤

数据挖掘通常包括以下主要步骤:

 

1. **业务理解**:明确项目目标和需求,了解业务背景和问题域。

 

2. **数据理解**:收集初始数据,理解数据的基本特征,识别数据质量问题。

 

3. **数据预处理**:包括数据清洗(去除噪声和不一致的数据)、数据集成(合并多个数据源)、数据选择(选择与分析任务相关的数据子集)和数据变换(将数据转换成适合挖掘的形式)。

 

4. **数据探索**:使用可视化和简单的统计分析来进一步了解数据,检查数据的分布和关系。

 

5. **模型选择**:根据业务问题和数据特性选择合适的数据挖掘模型和算法。

 

6. **特征工程**:从原始数据中提取、选择和构建新的特征,以提高模型的性能。

 

7. **模型训练**:使用训练数据集来训练选定的模型。

 

8. **模型评估**:使用测试数据集来评估模型的性能,通常包括准确率、召回率、F1分数等指标。

 

9. **模型优化**:根据评估结果调整模型参数或选择不同的模型,以提高性能。

 

10. **知识表示**:将挖掘出的知识以容易理解的形式呈现给用户,可能包括可视化技术、报告生成或将知识集成到决策支持系统中。

 

11. **部署**:将模型部署到生产环境中,以实现自动化的数据分析和决策支持。

 

12. **监控和维护**:持续监控模型的性能,根据数据的变化或业务需求进行模型的更新和维护。

 

数据挖掘是一个迭代的过程,可能需要多次循环这些步骤,以不断改进模型和结果。此外,数据挖掘项目的成功不仅取决于技术实现,还依赖于对业务需求的深入理解和数据的质量。


衡量关联规则的关键要素:支持度、置信度、规则的提升

77052f7219ed42018d3c7c26121e4738.png

关联规则分析步骤

通常,如果一个关联规则满足最小支持度阈值(minimumsupportthreshold)和最小置信度阈值(minimumconfidencethreshotd),那么就认为该关联规则是有意义的,而用户或专家可以设置最小支持度阈值和最小置信度阈值。

关联规则分析的步骤如下:

  1. 发现所有的频繁项集。根据定义,这些项集的频度至少应等于(预先设置的)最小支持度。关联规则的整个性能主要取决于这一步。
  2. 根据所获得的频繁项集,产生相应的强关联规则(这些规则必须满足最小置信度胞模水阈值)。

特征选择的概念

特征工程的目的之一是服务于数据的预测建模。

需从众多输入变量中筛选出对输出变量预测具有意义的重要变量,减少输入变量个数,实现输入变量空间的降维。该过程称为特征选择。

具体策略通常包括:

  1. 过滤式(filter)策略:即特征选择与预测建模“分而治之”地考察变量取值的差异程度,以及输入变量与输出变量的相关性,筛选出重要变量并由此构建新的训练集,为后续建立基于重要变量的预测模型奠定基础。这里的“过滤”是指以阈值为标准,过滤掉某些指标较高或较低的变量。
  2. 包裹式(wrapper)策略:即将特征选择“包裹”到一个指定的预测模型中。它将预测模型作为评价变量重要性的工具,完成重要变量的筛选,并由此构建新的训练集,为后续建立基于重要变量的预测模型奠定基础。
  3. 嵌入式(embedding)策略:即把特征选择“嵌入”到整个预测建模中,与预测建模“融为一体”。在预测建模的同时,度量变量的重要性,并最终给出基于重要变量的预测模型。

特征提取的概念

从众多具有相关性的输入变量中提取出较少的综合变量,用综合变量代替原有输入变量,实现输入变量空间的降维。该过程称为特征提取。

基本策略基于空间变换(主成分分析)

二、判断题5*2

2分类阳性(少数类样本)样本:召回率与精度之间的关系:对于任何二分类问题都有召回率越高,精度越低,面向类别

10折交叉验证(留一份做测试)

验证集:调整参数,用到泛化误差,用到训练过程

三、简答题2*10

EM期望最大化

RelliefF(特征最大化)思想:

ReliefF是一种用于特征选择的算法,它通过以下简化的步骤来评估特征对分类任务的重要性:

 

初始化权重:所有特征的权重开始时通常设为0。

迭代更新:对于数据集中的每个实例,找到与该实例最近的同类实例和不同类的实例。

调整权重:根据实例之间的距离,调整特征的权重。距离越小,特征的区分能力越强,权重增加;反之,权重减少。

归一化:迭代完成后,将所有特征的权重归一化,使它们的总和为1。

选择特征:根据权重,选择权重最高的前几个特征用于后续的模型训练。

ReliefF算法的优点是能够适应多类问题,并且通过考虑实例之间的距离,有效地识别出有助于分类的特征。

数据挖掘的概念

数据挖掘有哪些功能

数据挖掘是数据分析过程的一个扩展,它使用自动化的算法来探索大型数据集并发现模式、关联、异常和其他有用的信息。以下是数据挖掘的一些主要功能:

 

1. **分类**:将数据项分配到预先定义的类别中。

2. **聚类**:将数据集中的项分组,使得同一组内的项比其他组内的项更相似。

3. **关联规则学习**:发现数据项之间的有意义的关联或模式,例如在购物篮分析中发现商品之间的购买关系。

4. **异常检测**:识别数据集中的异常或离群点,这些点可能代表欺诈行为、系统故障或其他重要的变化。

5. **趋势分析**:识别数据随时间变化的趋势和模式。

6. **链接分析**:发现数据之间的链接和关系,例如社交网络中的好友关系。

7. **序列模式分析**:在数据集中发现重复出现的项目序列。

8. **特征提取**:从原始数据中提取出有助于理解数据的关键特征。

9. **降维**:减少数据的复杂性,同时尽可能保留原始数据的重要信息。

10. **预测建模**:构建模型来预测未来事件或行为。

11. **推荐系统**:基于用户的历史行为或偏好来推荐商品或服务。

12. **文本分析**:从非结构化文本数据中提取信息,进行情感分析、主题建模等。

 

集成学习(7.1、7.2)的相关概念、

集成学习的基本思路是:建模阶段,基于一组独立的训练集,分别建立与之对应的一组回归或分类预测模型。这里的每个预测模型称为基础学习器(BaseLearner)。预测阶段,基础学习器将分别给出各自的预测结果。对各预测结果进行平均或投票,确定最终的预测结果

一方面,集成学习可以解决预测模型的高方差。另一方面,集成学习可将一组弱模型联合起来使其成为一个强模型。

Bagging特征思想

Bagging(Bootstrap Aggregating)是一种集成学习技术,用于提高模型的稳定性和准确性,减少过拟合。Bagging的核心思想是通过构建多个模型并对它们的预测结果进行聚合,以提高整体模型的性能。以下是Bagging的关键特征和思想:

 

1. **自助采样(Bootstrap Sampling)**:

   - Bagging使用自助采样来创建多个不同的训练数据集。每个训练集是通过从原始数据集中随机有放回地选择样本得到的,这意味着同一个样本可能在多个训练集中重复出现。

 

2. **模型多样性**:

   - 由于每个训练集都是从原始数据集中随机抽取的,因此每个模型训练的数据略有不同,这增加了模型的多样性。

 

3. **模型训练**:

   - 在每个训练集上独立地训练一个基模型(如决策树)。基模型通常是相同的类型,但可以是任何预测模型。

 

4. **聚合预测**:

   - Bagging通过聚合所有基模型的预测来形成最终预测。对于分类问题,通常使用多数投票法;对于回归问题,则使用平均值。

 

5. **减少方差**:

   - Bagging主要目的是减少模型的方差。由于多个模型独立训练,它们的预测结果可能不同,聚合这些结果可以平滑个别模型的波动。

 

6. **提高准确性**:

   - 通过聚合多个模型的预测,Bagging通常能够提高模型的准确性,尤其是在基模型容易过拟合的情况下。

 

7. **并行化**:

   - 由于每个基模型是独立训练的,Bagging可以很容易地并行化,这有助于提高训练效率。

 

8. **稳定性**:

   - Bagging提高了模型的稳定性,使得模型对数据中的小波动和异常值不那么敏感。

 

9. **适用性**:

   - Bagging适用于那些具有高方差预测的模型,如决策树,但对于已经具有较低方差的模型,如线性回归,可能不会带来太大的改进。

 

Bagging的一个著名实现是随机森林(Random Forest),它不仅使用自助采样,还在决策树的分裂过程中引入随机性,通过随机选择特征子集来进一步增加模型的多样性。

随机森林思想特征

随机森林(Random Forest)是一种集成学习方法,它通过构建多个决策树并将它们的预测结果进行聚合来提高模型的准确性和鲁棒性。以下是随机森林的关键思想和特征:

 

1. **多个决策树**:

   - 随机森林由多个决策树组成,每棵树都是独立构建的。

 

2. **自助采样**:

   - 每棵决策树都是在原始数据集的一个不同子集上训练得到的,这个子集是通过自助采样(Bootstrap Sampling)得到的。

 

3. **特征随机性**:

   - 在每棵树的每个分裂节点,随机森林不是考虑所有可能的特征,而是随机选择一部分特征,然后从中选择最佳分裂特征。这种随机性增加了树之间的多样性。

 

4. **降低过拟合**:

   - 由于每棵树都是基于不同的数据和特征子集构建的,随机森林能够减少模型的过拟合风险。

 

5. **高准确性**:

   - 通过聚合多个决策树的预测结果,随机森林通常能够提供比单个决策树更准确的预测。

 

6. **方差-偏差权衡**:

   - 随机森林通过增加模型的数量(即树的数量)来降低方差,同时保持较低的偏差。

 

7. **特征重要性评估**:

   - 随机森林能够评估各个特征对预测结果的重要性,这有助于特征选择和理解数据。

 

8. **并行处理**:

   - 由于每棵树是独立训练的,随机森林可以很容易地在多核处理器上并行化,提高训练效率。

 

9. **模型稳定性**:

   - 随机森林对单个树的异常预测不敏感,因为它依赖于所有树的聚合结果。

 

10. **适用性广泛**:

    - 随机森林适用于多种类型的数据和问题,包括分类和回归任务。

 

11. **抗噪声能力**:

    - 随机森林能够处理数据中的噪声和异常值,因为它依赖于多个树的共识。

 

12. **无需参数调优**:

    - 与单棵决策树相比,随机森林不太依赖于参数调优,因为其性能通常随着树的数量增加而提高。

 

随机森林是一种强大的机器学习算法,它结合了多个弱预测模型(决策树)来构建一个强预测模型。通过减少过拟合和提高准确性,随机森林在许多实际应用中都取得了成功。

AdaBoost特征思想(泛型的)

AdaBoost(Adaptive Boosting)是一种集成学习算法,它通过迭代地训练弱分类器(通常是决策树桩)并集中关注之前模型中被错误分类的样本来提高模型的性能。以下是AdaBoost的关键特征和思想:

 

1. **弱学习器**:

   - AdaBoost使用弱学习器作为基模型,这些学习器的性能略好于随机猜测。

 

2. **迭代训练**:

   - 算法通过迭代过程构建多个弱学习器。在每一轮迭代中,一个新的弱学习器被训练来纠正之前学习器的错误。

 

3. **加权样本**:

   - 在每一轮迭代中,错误分类的样本会被赋予更高的权重,这样新的弱学习器就会更加关注这些样本。

 

4. **调整权重**:

   - 每个弱学习器都会根据其在训练集上的性能获得一个权重,性能越好的弱学习器获得的权重越高。

 

5. **最终预测**:

   - 所有弱学习器的预测结果通过加权投票或加权平均的方式进行聚合,形成最终的预测。

 

6. **关注错误分类**:

   - AdaBoost通过增加错误分类样本的权重,使模型在后续迭代中更加关注这些样本。

 

7. **提高准确性**:

   - 通过逐步改进模型对错误分类样本的预测,AdaBoost通常能够提高整体模型的准确性。

 

8. **减少偏差**:

   - AdaBoost试图减少模型的偏差,但过度迭代可能导致过拟合。

 

9. **控制方差**:

   - 通过适当选择弱学习器的复杂度,AdaBoost可以控制模型的方差。

 

10. **易于实现**:

    - AdaBoost算法相对简单,易于实现和理解。

 

11. **对噪声敏感**:

    - AdaBoost对异常值和噪声比较敏感,因为它过分强调了错误分类的样本。

 

12. **可解释性**:

    - 虽然AdaBoost提高了模型的性能,但可能会降低模型的可解释性。

 

AdaBoost是一种强大的分类算法,特别适用于那些可以通过调整权重来改进的弱学习器。然而,使用AdaBoost时需要注意避免过拟合,可能需要通过交叉验证等技术来确定迭代次数。AdaBoost在许多实际问题中都表现出了良好的性能,尤其是在数据集较小或样本类别不平衡的情况下。

四、应用题2*20

决策树(P209-211)决策树原理详解(无基础的同样可以看懂)-CSDN博客

Apiro算法

大白话解析Apriori算法python实现(含源代码详解)_apriori算法python代码-CSDN博客

FP-growing

FP-growth算法理解和实现_fpgrowth算法的全称-CSDN博客

ROC曲线绘制(fpr-tpr)AUC的三种计算方法及代码_auc计算-CSDN博客

aba04218737440e194d3061869e3f6dd.png 

 

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值