首页 > 其他分享 >深入理解随机森林模型:涵盖训练、评估、调参及应用的知识图谱

深入理解随机森林模型:涵盖训练、评估、调参及应用的知识图谱

时间:2024-12-24 16:52:37浏览次数:3  
标签:调参及 图谱 涵盖 特征 随机 拟合 数据 节点 决策树

一、基本概念

  1. 集成学习

    • 集成学习是将多个机器学习模型组合起来,以获得比单个模型更好的性能。随机森林就是一种集成学习方法,它通过构建多个决策树并综合它们的结果来进行预测。
    • 例如,在预测天气是晴天还是雨天时,集成学习就像是询问多个气象专家(每个专家相当于一个决策树)的意见,然后综合这些意见来做出更准确的判断。
  2. 决策树基础

    • 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别(在分类问题中)或一个数值(在回归问题中)。
    • 比如,在一个判断水果是苹果还是橙子的决策树中,内部节点可能是“颜色是否为红色”,如果是红色,就继续判断“形状是否为圆形”等,最后叶节点会给出是苹果还是橙子的结论。
  3. 随机森林的构成

    • 随机森林由多个决策树组成。在训练阶段,通过对训练数据集进行有放回抽样(Bootstrap Sampling)来构建每一棵决策树。对于分类问题,最终的输出是这些决策树输出类别中得票最多的类别;对于回归问题,输出是这些决策树输出的平均值。

二、训练过程

  1. 数据抽样

    • 有放回抽样(Bootstrap Sampling):从原始训练数据集中随机地有放回地抽取样本,形成多个与原始数据集大小相同的子数据集。这样做的好处是,每个子数据集都有一定的相似性,但又包含不同的数据点,从而使得每棵决策树都能学习到数据的不同特征。
    • 例如,假设有一个包含100个数据点的数据集,通过有放回抽样得到的每个子数据集可能会有一些数据点重复出现,也会有一些数据点没有被抽到。
  2. 特征选择

    • 在构建每棵决策树时,对于每个节点的分裂,不是使用所有的特征,而是随机选择一个子集(通常是特征总数的平方根个特征)来寻找最佳分裂特征。这可以增加决策树之间的多样性,降低模型的方差。
    • 例如,如果有16个特征,在每个节点分裂时可能只随机选择4个特征来考虑最佳分裂方式。
  3. 决策树生长

    • 基于选定的子数据集和特征子集,按照决策树的生长算法(如ID3、C4.5或CART等)来构建决策树。决策树会不断地对节点进行分裂,直到满足停止条件,如节点中的样本数小于某个阈值、树的深度达到最大值等。

三、模型评估

  1. 评估指标(用于分类)
    • 准确率(Accuracy):正确分类的样本数占总样本数的比例,即\(Accuracy=\frac{TP + TN}{TP+TN+FP+FN}\),其中TP(True Positive)是真正例,TN(True Negative)是真反例,FP(False Positive)是假正例,FN(False Negative)是假反例。
    • 精确率(Precision):\(Precision = \frac{TP}{TP + FP}\),它衡量了预测为正例的样本中有多少是真正的正例。
    • 召回率(Recall):\(Recall=\frac{TP}{TP + FN}\),它表示实际正例中有多少被正确地预测为正例。
    • F1 - score:\(F1=\frac{2\times Precision\times Recall}{Precision + Recall}\),它是精确率和召回率的调和平均数,综合考虑了精确率和召回率。
  2. 评估指标(用于回归)
    • 均方误差(MSE):\(MSE=\frac{1}{n}\sum_{i = 1}^{n}(y_{i}-\hat{y}_{i})^{2}\),其中\(y_{i}\)是真实值,\(\hat{y}_{i}\)是预测值,n是样本数量。它衡量了预测值与真实值之间的平均平方误差。
    • 平均绝对误差(MAE):\(MAE=\frac{1}{n}\sum_{i = 1}^{n}\vert y_{i}-\hat{y}_{i}\vert\),它表示预测值与真实值之间的平均绝对差值。
  3. 交叉验证(Cross - Validation)
    • 常用的方法如k - 折交叉验证(k - fold Cross - Validation)。将数据集分成k个大小相似的子集,每次用k - 1个子集作为训练集,剩下的一个子集作为验证集,重复k次。这样可以得到更稳健的模型评估结果,避免过拟合评估。

四、超参数调整

  1. 决策树相关超参数
    • 树的数量(n_estimators):随机森林中决策树的数量。增加树的数量通常可以提高模型的性能,但也会增加计算成本。一般通过交叉验证来选择合适的树的数量。
    • 树的最大深度(max_depth):限制决策树的生长深度。较浅的树可能会欠拟合,而太深的树可能会过拟合。
    • 节点分裂所需的最小样本数(min_samples_split):节点分裂时所需的最小样本数。如果这个值设置得较大,决策树会比较简单,可能会欠拟合;如果设置得太小,树可能会过于复杂,导致过拟合。
  2. 随机森林特有的超参数
    • 特征抽样比例(max_features):在构建决策树时,每次用于分裂节点的特征子集的比例。合适的特征抽样比例可以增加决策树之间的多样性,一般默认是特征总数的平方根。

五、优点

  1. 准确性高
    • 由于它是集成多个决策树的结果,能够学习到数据的复杂模式,通常比单个决策树具有更高的准确性。例如,在图像分类任务中,随机森林可以综合多个决策树对图像特征的判断,更准确地识别图像中的物体类别。
  2. 抗过拟合能力强
    • 通过对数据的随机抽样和特征的随机选择,使得每棵决策树都有一定的差异,降低了模型的方差,从而对过拟合有一定的抵抗力。即使部分决策树出现过拟合,综合多个决策树的结果也能减轻过拟合的影响。
  3. 能够处理高维数据
    • 可以有效地处理具有大量特征的数据。因为在每次构建决策树时只使用了部分特征,所以可以在高维数据中找到有意义的特征组合。例如,在基因数据分析中,可能有成千上万个基因特征,随机森林可以处理这些高维数据来预测疾病等。
  4. 对缺失数据和异常数据相对鲁棒
    • 决策树本身对缺失数据和异常数据有一定的容忍度,随机森林作为决策树的集成,也继承了这一优点。在数据存在少量缺失或异常值时,仍然能够较好地工作。

六、缺点

  1. 计算成本高
    • 由于需要构建多个决策树,训练时间和计算资源消耗相对较大。特别是当数据量非常大或者决策树数量很多时,训练过程可能会很漫长。
  2. 解释性相对较差
    • 虽然决策树本身具有一定的可解释性,但随机森林是多个决策树的集成,解释其预测结果相对困难。不像单个决策树可以直观地看到每个节点的分裂规则,随机森林很难明确地指出某个预测结果是由哪些特征的组合导致的。
  3. 对类别不平衡数据敏感
    • 当数据集中不同类别的样本数量差异很大时,可能会导致模型偏向于多数类。例如,在一个欺诈检测数据集中,如果正常交易的样本数量远远多于欺诈交易的样本数量,随机森林可能会更多地预测为正常交易,而忽略欺诈交易。

七、应用场景

  1. 分类问题
    • 如垃圾邮件识别,将邮件分为垃圾邮件和非垃圾邮件;客户流失预测,判断客户是否会流失等。
  2. 回归问题
    • 例如房价预测,根据房屋的各种特征(面积、房龄、周边设施等)来预测房价;股票价格预测,利用历史数据和相关指标来预测股票价格的走势等。

标签:调参及,图谱,涵盖,特征,随机,拟合,数据,节点,决策树
From: https://www.cnblogs.com/java-note/p/18628113

相关文章

  • 自然语言处理与知识图谱的融合与应用
    目录前言1.知识图谱与自然语言处理的关系1.1知识图谱的定义与特点1.2自然语言处理的核心任务1.3二者的互补性2.NLP在知识图谱构建中的应用2.1信息抽取2.1.1实体识别2.1.2关系抽取2.1.3属性抽取2.2知识融合2.3知识推理3.NLP与知识图谱融合的实际应用3.1智......
  • 知识图谱与大模型 Part 1:使用大型语言模型自动进行知识图谱构建
    导读大模型刚火起来的时候,很多人认为知识图谱没前途了,会被大模型代替,因为知识已经被学到大模型肚子里了。跑了半天后,发现不是那么回事,发现大模型和知识图谱就是两个层面的东西,从我的角度:知识图谱更偏加工出来的产品,这个产品既可以用到其他场景,也可以反过来提升大模型......
  • 微软 GraphRAG 构建武松打虎的知识图谱 - 超简单教程,小学生都能学会!
    微软GraphRAG构建武松打虎的知识图谱-超简单教程,小学生都能学会!0.引言1.创建组2.读取文件3.创建组和文件的关联4.选择语言和设置实体类型5.设置LLM6.设置Langfuse7.创建基础文本单元8.创建最终文档9.抽取实体和关系10.社区检测11.创建最终实体12.创建......
  • 关于 *.esd、*.wim、*.msu 和 *.cab 格式文件的对比分析表,涵盖它们的基本特点、用途、
    关于*.esd、*.wim、*.msu和*.cab格式文件的对比分析表,涵盖它们的基本特点、用途、优缺点等方面:特性.esd (ElectronicSoftwareDistribution).wim (WindowsImagingFormat).msu (MicrosoftUpdateStandalonePackage).cab (CabinetFile)文件类型压缩映像......
  • Windows Server 2025 中部署云桌面(尤其是涉及到 GPU-P 和 vGPU 技术的配置),以下是详细
    WindowsServer2025中部署云桌面(尤其是涉及到GPU-P和vGPU技术的配置),以下是详细的步骤说明,涵盖了硬件要求、服务配置、以及具体的服务器安装与角色部署过程。1.硬件要求:在部署GPU-P(GPU分配)技术和vGPU技术的Hyper-V环境云桌面时,硬件要求如下:64位处理器,支持以下其......
  • 基于知识图谱的医疗问答系统(Kubernetes)
    目录一、前提准备1、创建neo4j用户,数据目录2、修改neo4j.conf配置文件二、k8s集群部署1、步骤文档2、选择k8s-master1节点打标,kube-scheduler直接将pod调度到该节点3、创建neo4j命名空间4、创建pv5、创建pvc6、创建neo4j的Deployment7、创建NodePort类型的svc(实......
  • 自然语言处理NLP——基于电影知识图谱和大型语言模型(LLM)的KBQA问答机器人(增加自然语言
    文章目录参考可视化逻辑运行演示参考https://github.com/Xiaoheizi2023/NLP_KBQA可视化逻辑提取出实体后去neo4j搜寻实体相关的图谱,然后返回数据再进行可视化可视化工具cytoscape.js提取实体逻辑:分词后比对关键词运行数据库:Mysql(保存聊天和用户和帖子信息)neo......
  • 基于知识图谱的医疗问答系统(dockerfile+docker-compose)
    目录一、搭建Neo4j图数据库1、方式选择2、Dockerfile+docker-compose部署neo4j容器2.1、更新yum镜像源2.2、安装docker-ce社区版2.3、配置镜像加速2.4、安装DockerCompose2.4.1、下载DockerCompose二进制包2.4.2、设置可执行权限2.4.3、查看版本2.5、创建目录结构2.6、......
  • 轻量高效的知识图谱RAG系统:LightRAG
    LightRAG是港大DataLab提出一种基于知识图谱结构的RAG方案,相比GraphRAG具有更快更经济的特点。架构1索引阶段:对文档进行切分处理,提取其中的实体和边分别进行向量化处理,存放在向量知识库2检索阶段:对用于输入分别提取局部和全局关键词,分别用于检索向量知识库中的实体和边关......
  • 【大模型智能客服背景下】知识图谱笔记
     【背景】        在数字化飞速发展的时代,客户服务的质量和效率成为企业立足市场、赢得客户信赖的关键因素之一。随着人工智能技术的不断革新,智能客服应运而生,为企业与客户之间搭建起了更为便捷、高效的沟通桥梁。        传统的智能客服系统往往基于预设规......