news 2026/10/13 13:11:57

随机森林算法(RF)学习笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
随机森林算法(RF)学习笔记

文章目录

  • 一、 算法基本原理
  • 二、 算法步骤
  • 三、参数调优
  • 四、分类与回归
    • 1. 分类
    • 2. 回归

一、 算法基本原理

随机森林通过有放回抽样的形式对样本和特征进行抽样,构建多颗决策树,形成决策树的森林。训练这些决策树后,基于每一个决策树的结果的投票或平均的方式预测。

二、 算法步骤

  1. 析数据,将数据抽象成特征向量的列表
  2. 训练模型,并分析训练成果
  3. 基于训练好的模型进行预测
  4. 根据自己的目标确定预测结果是否可接受
  5. 调整超参数,提高预测准确率

三、参数调优

  1. 网络搜索:适用与超参数选择范围较小的情况,且要求超参数分布离散
  2. 网络搜索:适用于超参数范围较大的情况,可以做初步寻优,且允许超参数分布连续
  3. 贝叶斯优化:智能化搜索,一般结果固定

代码示例

# 贝叶斯优化search_space={"n_estimators":Integer(10,500),"max_depth":Integer(5,30),"min_samples_leaf":Integer(1,10),"min_samples_split":Integer(2,20),"max_features":Real(0.0000000001,0.99),'bootstrap':Categorical([True,False])}bayes_search=BayesSearchCV(estimator=rf_model,search_spaces=search_space,n_iter=30,cv=5,n_jobs=-1,scoring="accuracy",random_state=42,verbose=1)bayes_search.fit(X_train,y_train)print(bayes_search.best_params_)# 随机搜索random_param_dist={"n_estimators":randint(10,500),"max_depth":[None]+list(randint(1,100).rvs(5)),"min_samples_split":randint(2,20),"max_features":uniform(0.1,0.9),"min_samples_leaf":randint(1,10)}random_search=RandomizedSearchCV(estimator=rf_model,param_distributions=random_param_dist,n_iter=100,cv=5,scoring="accuracy",n_jobs=-1)random_search.fit(X_train,y_train)best_params=random_search.best_params_print(best_params)# 网络搜索param_grid={"n_estimators":[20,40,100,200,500],"max_depth":[5,10,15,None],"min_samples_split":[2,5,10],"min_samples_leaf":[1,2,4]}grid_search=GridSearchCV(estimator=rf_model,param_grid=param_grid,cv=5,scoring="accuracy",n_jobs=-1)grid_search.fit(X_train,y_train)print(grid_search.best_params_)

注意导入相关库

四、分类与回归

用p y t h o n pythonpythonsklearn 库来进行随机森林预测。

1. 分类

基于投票决定预测结果,要求结果分布离散。如胜负、高低等可以用分类器做预测:胜为1,负为0。

2. 回归

基于平均决定预测结果,要求结果分布连续。如电影评分。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/11 22:39:30

lora-scripts助力垂直领域大模型适配:医疗、法律、教育行业问答定制

LoRA-Scripts助力垂直领域大模型适配:医疗、法律、教育行业问答定制 在医院的智能导诊系统中,患者提问“孩子发烧38.5度该吃什么药?”如果AI回答“建议服用头孢克肟”,而未提示需医生确诊后再用药——这不仅误导用户,…

作者头像 李华
网站建设 2026/10/11 22:39:35

AI模型部署成本太高?试试仅1B参数的腾讯混元OCR解决方案

轻量化也能高性能?腾讯混元1B参数OCR如何破局AI部署成本困局 在智能文档处理日益普及的今天,企业对OCR技术的需求早已从“能识别文字”升级为“精准提取结构化信息”。然而现实却令人无奈:高精度OCR系统动辄需要多卡A100部署,推理…

作者头像 李华
网站建设 2026/10/13 12:05:58

腾讯混元OCR能否取代Tesseract?深度对比测试来了

腾讯混元OCR能否取代Tesseract?一场关于智能文字识别的范式变革 在银行后台处理成千上万张扫描发票时,你是否曾为表格错位、字段漏识而反复调试规则引擎?当跨境电商客服系统面对一份阿拉伯语与中文混排的商品说明图时,传统OCR是不…

作者头像 李华
网站建设 2026/10/13 1:52:08

谷歌学术镜像网站大全:深入研究LoRA算法理论基础

谷歌学术镜像网站大全:深入研究LoRA算法理论基础 在当今AI模型动辄上百亿参数的时代,微调一个大模型的成本可能高达数万美元——不仅需要昂贵的GPU集群,还伴随着灾难性遗忘和部署困难等一系列问题。然而,就在这样的背景下&#xf…

作者头像 李华
网站建设 2026/10/13 12:57:57

提示词语法详解:在SD中正确调用lora-scripts生成的LoRA模型

提示词语法详解:在SD中正确调用lora-scripts生成的LoRA模型 在数字内容创作日益个性化的今天,如何让AI真正“理解”你的风格,成为每一位创作者关心的问题。无论是想复现某位艺术家的笔触、还原某个虚拟角色的形象,还是打造专属品…

作者头像 李华
网站建设 2026/10/13 11:36:33

C++多线程编程避坑宝典(死锁预防的8个黄金法则)

第一章:C多线程死锁问题的根源剖析在C多线程编程中,死锁是导致程序停滞不前的常见问题。其根本原因在于多个线程对共享资源的竞争访问缺乏合理的同步控制,导致彼此相互等待对方释放锁,从而陷入永久阻塞状态。死锁的四大必要条件 互…

作者头像 李华