数据挖掘实战(以kaggle为例)

第一课(第1课:机器学习算法、工具与流程概述)

主要分为以下内容进行讲述
在这里插入图片描述

机器学习工业应用领域

在这里插入图片描述

机器学习常用算法

在这里插入图片描述

在这里插入图片描述

机器学习常用工具

在这里插入图片描述

解决问题流程

数据的处理比模型更为重要
老师的博客,内容很详细
在这里插入图片描述

数据预处理

有时候可以一个feature一个feature去做
在这里插入图片描述

特征工程

在这里插入图片描述
在这里插入图片描述

模型选择

在这里插入图片描述
在这里插入图片描述

模型状态评估

在这里插入图片描述
在这里插入图片描述

模型融合

在这里插入图片描述

Bagging是一种集成学习(Ensemble Learning)的技术,全称为“Bootstrap Aggregating”。它是通过构建多个相互独立的基本模型(通常是决策树或其他分类器),然后通过对基本模型的预测结果进行投票或平均来进行最终预测的技术。

在Bagging中,采用自助法(bootstrap)从原始训练集中有放回地随机抽取多个样本(可重复抽样),构建多个训练集,每个训练集与原始训练集的大小相同。然后,使用每个训练集独立训练一个基本模型。最后,将这些基本模型的预测结果进行组合,通常通过投票或平均来生成最终的预测结果。

Bagging的优点包括:

降低模型的方差:通过构建多个基本模型并进行组合,可以降低模型的方差,减少过拟合的风险。

提高模型的鲁棒性:由于基本模型是相互独立训练的,因此对于数据的扰动和噪声具有一定的鲁棒性。

增加预测的准确性:通过集成多个基本模型的预测结果,可以提高整体的预测准确性和稳定性。

可以并行化处理:由于基本模型相互独立,因此可以并行训练和预测,提高计算效率。

常见的Bagging算法包括随机森林(Random Forest)和袋装决策树(Bagged Decision Trees),它们基于决策树进行集成学习。Bagging在各种机器学习任务中被广泛应用,并取得了良好的效果。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Boosting是一种集成学习(Ensemble Learning)的技术,用于通过组合多个弱学习器来构建一个强大的学习器。与Bagging不同,Boosting是通过顺序训练一系列的基本模型(通常是决策树或其他分类器),每个基本模型都试图纠正前一个模型的错误。

Boosting的基本思想是通过迭代训练一系列的弱学习器,每次训练都会调整样本的权重,使得前一个模型预测错误的样本在下一轮中得到更多的关注。在每一轮训练中,基本模型都会根据前一轮的预测结果来调整样本的权重,并尽可能减少上一轮预测错误的样本的权重。

Boosting的主要过程如下:

初始化样本权重:开始时,将所有样本的权重初始化为相等值。

迭代训练基本模型:通过迭代训练一系列的基本模型,每个模型都根据当前样本权重进行训练。

调整样本权重:在每一轮训练后,根据前一轮的预测结果来调整样本的权重,使得前一轮预测错误的样本在下一轮中获得更高的权重。

组合基本模型:将所有基本模型的预测结果进行加权组合,通常采用加权投票或加权平均的方式得到最终的预测结果。

Boosting的优点包括:

提高模型的准确性:通过迭代训练一系列的基本模型,Boosting可以逐步减少预测错误,提高整体的预测准确性。

自适应学习:Boosting通过调整样本权重来关注前一轮预测错误的样本,从而使得模型能够适应数据的特点和难易程度。

可以处理高维度数据:Boosting能够有效地处理高维度数据,对于特征维度较高的问题具有较好的适应性。

常见的Boosting算法包括Adaboost(Adaptive Boosting)和梯度提升树(Gradient Boosting Tree),它们在各种机器学习任务中被广泛应用,并取得了良好的效果。Boosting在处理复杂任务和大规模数据集时具有很强的表现能力。在这里插入图片描述

第二课(第2课:经济金融领域的应用)

在这里插入图片描述

在这里插入图片描述
第三种情况不太懂
在这里插入图片描述
三种方法:回归,决策树,神经网络
在这里插入图片描述
决策树算法的思想
决策树是一种常见的机器学习算法,用于解决分类和回归问题。它基于树状结构进行决策,并通过对输入数据集进行分裂来构建树。

下面是决策树算法的详细说明:

数据准备:首先,需要准备带有标签的训练数据集。每个数据样本包含一组特征和对应的标签(类别或值)。

特征选择:选择最佳的特征来构建决策树。常用的特征选择方法包括信息增益、信息增益比、基尼指数等。这些方法衡量了特征对于分类的重要性。

构建决策树:根据选定的特征选择方法,通过递归地分裂数据集,构建决策树。构建决策树的过程中,根据特征的取值将数据集划分为不同的子集,直到达到某个终止条件,如所有样本属于同一类别,或者无法再选择有效的特征进行分裂。

决策树的分裂:决策树的分裂过程是根据选定的特征和分裂规则进行的。一般来说,特征的每个可能取值都会产生一个分支,形成一个子节点。

处理缺失值:在构建决策树时,如果存在缺失值,需要采取相应的策略进行处理。一种常见的方法是使用多数表决来决定缺失值所在的分支。

剪枝:构建完整的决策树后,为了避免过拟合,需要进行剪枝操作。剪枝是通过减少决策树的复杂度,提高泛化能力。剪枝方法有预剪枝和后剪枝两种,预剪枝是在构建过程中进行剪枝,而后剪枝是在构建完整决策树后进行剪枝。

预测:使用构建好的决策树进行预测。将测试样本从根节点开始,根据特征的取值逐步遍历决策树的分支,直到达到叶节点,得到预测的类别或值。

决策树算法的优点包括易于理解和解释、可处理数值型和类别型数据、能够处理缺失值等。然而,决策树也存在一些限制,如容易过拟合、对噪声敏感等。

决策树算法的一种常见的变体是随机森林,它通过集成多个决策树来进行预测,并通过投票或平均来得到最终的结果,以减少单棵决策树的不确定性。
在这里插入图片描述
在这里插入图片描述
集成学习
在这里插入图片描述
random forest
在这里插入图片描述
Bosting
在这里插入图片描述
神经网络(Neural Network)是一种机器学习算法,它受到人类神经系统的启发,模拟了大脑中神经元之间的相互连接和信息传递过程。神经网络通常由多个称为神经元或节点的基本单元组成,这些神经元通过连接权重来传递和处理输入数据。

以下是神经网络的一般工作原理:

构建神经网络结构:神经网络通常由多个层组成,包括输入层、隐藏层和输出层。输入层接收原始数据,隐藏层进行中间的数据处理和特征提取,输出层生成最终的预测结果。

定义神经元:神经元是神经网络的基本单元,它接收输入数据并根据连接权重进行加权求和。然后,该值经过激活函数的转换,产生神经元的输出。常用的激活函数包括sigmoid、ReLU、tanh等。

前向传播:神经网络通过前向传播的方式将输入数据从输入层传递到输出层。在前向传播过程中,每个神经元根据输入数据和连接权重计算输出,并将其传递给下一层的神经元,直到到达输出层。

权重调整:神经网络的学习过程是通过调整连接权重来实现的。训练数据经过神经网络的前向传播后,与实际标签进行比较,通过计算损失函数来度量预测结果的误差。然后,通过反向传播算法,根据损失函数的梯度来更新连接权重,以减小误差,提高预测准确性。

反向传播:反向传播是神经网络中的一种优化算法,用于计算连接权重的梯度,并根据梯度的方向来更新权重。通过反向传播,网络可以从输出层向后传播误差信号,逐层计算每个连接权重的梯度,并利用梯度下降等优化算法来更新权重。

预测和推理:经过训练后的神经网络可以用于预测新的未见过的数据。给定输入数据,通过前向传播计算输出值,并根据输出值进行分类或回归预测。

神经网络的优势在于它能够自动从数据中学习特征表示,并且可以处理复杂的非线性关系。它在图像识别、自然语言处理、语音识别等领域取得了很多成功。然而,神经网络也面临一些挑战,如需要大量的训练数据、复杂的调参过程、计算资源的要求较高等。
在这里插入图片描述

kaggle竞赛:房价预测

房价预测