基于麻雀算法改进的随机森林分类算法 - 附代码
基于麻雀算法改进的随机森林分类算法
文章目录
- 基于麻雀算法改进的随机森林分类算法
- 1.数据集
- 2.RF模型
- 3.基于麻雀算法优化的RF
- 4.测试结果
- 5.Matlab代码
摘要:为了提高随机森林数据的分类预测准确率,对随机森林中的树木个数和最小叶子点数参数利用麻雀搜索算法进行优化。
1.数据集
数据的来源是 UCI 数据库中的肿瘤数据。数据信息如下:
data.mat 的大小为569*32。
其中第2列为标签数据,包含两类标签。
第3列到最后一列为特征数据。
所以RF模型的数据输入维度为30;输出维度为1。
2.RF模型
随机森林请自行参考相关机器学习书籍。
3.基于麻雀算法优化的RF
麻雀搜索算法的具体原理参考博客:https://blog.csdn.net/u011835903/article/details/108830958。
麻雀算法的优化参数为RF中树木个数和最小叶子节点数。适应度函数为RF对训练集和测试集的预测错误率,错误率越低越好。
finteness=errorRate[predict(train)]+errorRate[predict(test)]finteness = errorRate[predict(train)] + errorRate[predict(test)] finteness=errorRate[predict(train)]+errorRate[predict(test)]
4.测试结果
数据划分信息如下: 训练集数量为500组,测试集数量为69组
麻雀参数设置如下:
%% 定义麻雀优化参数
pop=20; %种群数量
Max_iteration=30; % 设定最大迭代次数
dim = 2;%维度,即树个数和最小叶子点数
lb = [1,1];%下边界
ub = [50,20];%上边界
fobj = @(x) fun(x,P_train,T_train,P_test,T_test);
寻优得到的树个数:38
最小叶子节点:1
麻雀优化随机森林结果展示:----------------
训练集正确率Accuracy = 100%(500/500)
测试集正确率Accuracy = 94.2029%(65/69)
病例总数:569 良性:357 恶性:212
训练集病例总数:500 良性:316 恶性:184
测试集病例总数:69 良性:41 恶性:28
良性乳腺肿瘤确诊:39 误诊:2 确诊率p1=95.122%
恶性乳腺肿瘤确诊:26 误诊:2 确诊率p2=92.8571%
传统随机森林结果展示:----------------
训练集正确率Accuracy = 99.8%(499/500)
测试集正确率Accuracy = 92.7536%(64/69)
病例总数:569 良性:357 恶性:212
训练集病例总数:500 良性:316 恶性:184
测试集病例总数:69 良性:41 恶性:28
良性乳腺肿瘤确诊:39 误诊:2 确诊率p1=95.122%
恶性乳腺肿瘤确诊:25 误诊:3 确诊率p2=89.2857%
从结果来看,经过改进后的SSA-RF明显优于未改进前的结果。
5.Matlab代码
基于麻雀算法改进的随机森林分类算法 - 附代码相关推荐
- 基于蜣螂算法改进的随机森林回归算法 - 附代码
基于蜣螂算法改进的随机森林回归算法 - 附代码 文章目录 基于蜣螂算法改进的随机森林回归算法 - 附代码 1.数据集 2.RF模型 3.基于蜣螂算法优化的RF 4.测试结果 5.Matlab代码 6. ...
- 随机森林分类算法python代码_Python机器学习笔记:随机森林算法
随机森林算法的理论知识 随机森林是一种有监督学习算法,是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,但是它在分类和回归上表现出非常惊人的性能,因此,随机森林被誉为&q ...
- 随机森林分类算法python代码_随机森林的原理及Python代码实现
原标题:随机森林的原理及Python代码实现 最近在做kaggle的时候,发现随机森林这个算法在分类问题上效果十分的好,大多数情况下效果远要比svm,log回归,knn等算法效果好.因此想琢磨琢磨这个 ...
- 随机森林分类算法python代码_独家 | 一文读懂随机森林的解释和实现(附python代码)...
作者:William Koehrsen 翻译:和中华 校对:李润嘉 本文约6000字,建议阅读15分钟. 本文从单棵决策树讲起,然后逐步解释了随机森林的工作原理,并使用sklearn中的随机森林对某个 ...
- Python实现GWO智能灰狼优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 灰狼优化算法(GWO),由澳大利亚格里菲斯大学学者 Mirjal ...
- GEE:随机森林分类教程(样本制作、特征添加、训练、精度、参数优化、贡献度、统计面积)
作者: _养乐多_ 本文将介绍在Google Earth Engine (GEE)平台上进行随机森林分类的方法和代码,其中包括制作样本点教程(本地.在线和本地在线混合制作样本点,合并样本点等),加入特 ...
- 分类算法-决策树、随机森林
分类算法-决策树.随机森林 决策树 1. 认识决策树 决策树模型呈树形结构.在分类问题中,表示基于特征对实例进行分类的过程,它可以认为是if-then规则的集合.在决策树的结构中,每一个实例都被一条路 ...
- 【详细代码注释】基于CNN卷积神经网络实现随机森林算法
随机森林算法简介: 随机森林(Random Forest)是一种灵活性很高的机器学习算法. 它的底层是利用多棵树对样本进行训练并预测的一种分类器.在机器学习的许多领域都有广泛地应用. 例如构建医学疾病 ...
- 【机器学习】sclearn分类算法-决策树、随机森林
分类算法-决策树.随机森林 1.决策树 1.1 认识决策树 1.2 信息论基础-银行贷款分析 1.3 决策树的生成 1.4 决策树的划分依据之一-信息增益 1.5 sklearn决策树API 1.6 ...
- sklearn分类算法-决策树、随机森林
sklearn分类算法-决策树.随机森林 一.决策树 1.概念 决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法 比如: ...
最新文章
- 使用bert或者xlnet做预测类的事情
- python用于数据分析的案例_Python数据分析经典案例
- java数据库视频教程下载,【No147】最新oracle11g DBA 开发和应用数据库视频教程下载...
- sap.ui.layout.HorizontalLayout is not a constructor
- CRM Fiori launchpad请求响应结果的字段分析
- 用 docker-compose 启动 WebApi 和 SQL Server
- leetcode —— 965. 单值二叉树
- Servlet梳理一
- 看呆了!日本男粉丝凭瞳孔倒影找到偶像住所 实施猥亵...
- C#打开php链接传参然后接收返回值
- java 标识变量_Java变量与数据类型之一:Java编程规范,关键字与标识符
- python中argsparse_Python中argparse库的基本使用(示例)
- Mozilla发布开发者专用浏览器Fx10
- html如何转换成中文,html中文乱码怎么解决怎么造成如何避免中文乱码
- java毕业设计乡镇卫生院信息管理mybatis+源码+调试部署+系统+数据库+lw
- 【论文阅读笔记】High Quality Monocular Depth Estimation via Transfer Learning
- 计算机毕业设计springcloud“微服务”架构下新闻头条的设计与实现
- excel锁定单元格不能修改_【软件应用】工程中经常运用的Excel技巧(附教程下载)...
- 《Getting Real中文版》读书笔记
- STM32F103开发环境的搭建
热门文章
- 2021日喀则市江孜高考成绩查询,2021西藏高考成绩查询时间 西藏高考成绩查询入口...
- #笔记2021-08
- ElementUI:没有dist文件夹,vue项目打包后字体图标失效,变成小方框解决方案
- LeetCode:每日一题(2020.4.10)
- Javascript:遍历json数据的方法
- android 样式预处理,基于Android平台的字符识别预处理算法设计与实现
- Java反射库jOOR简介
- Ubuntu18.04/16.04 安装glog
- 论文笔记_S2D.72_RGB图像和不确定性引导的稀疏噪声激光雷达深度补全
- 论文笔记_S2D.39_2015-ICCV-条件随机场作为递归神经网络(CRF-RNN)