分类预测 | Matlab实现SO-RF蛇群算法优化随机森林多输入分类预测


目录

  • 分类预测 | Matlab实现SO-RF蛇群算法优化随机森林多输入分类预测
  • 效果一览
  • 基本介绍
  • 程序设计
  • 参考资料


效果一览

分类预测 | Matlab实现SO-RF蛇群算法优化随机森林多输入分类预测_蛇群算法优化随机森林

分类预测 | Matlab实现SO-RF蛇群算法优化随机森林多输入分类预测_SO-RF_02


分类预测 | Matlab实现SO-RF蛇群算法优化随机森林多输入分类预测_随机森林_03

分类预测 | Matlab实现SO-RF蛇群算法优化随机森林多输入分类预测_蛇群算法优化随机森林_04


分类预测 | Matlab实现SO-RF蛇群算法优化随机森林多输入分类预测_算法优化_05

基本介绍

Matlab实现SO-RF蛇群算法优化随机森林多输入分类预测(完整源码和数据)
Matlab蛇群算法(SO)优化随机森林(RF)的分类预测,多输入单输出模型。SO-RF分类预测模型
多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出分类效果图,迭代优化图,混淆矩阵图。

程序设计

  • 完整源码和数据下载: Matlab实现SO-RF蛇群算法优化随机森林多输入分类预测
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  清空环境变量
clc;
clear;
warning off
close all
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  添加路径
addpath("Toolbox\")
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  读取数据
res = xlsread('数据集.xlsx');
%%  性能评价
error1 = sum((T_sim1' == T_train)) / M * 100 ;
error2 = sum((T_sim2' == T_test )) / N * 100 ;
%-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  绘图
figure
plot(1: M, T_train, 'r-*', 1: M, T_sim1, 'b-o', 'LineWidth', 1)
legend('真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'训练集预测结果对比'; ['准确率=' num2str(error1) '%']};
title(string)
grid

figure
plot(1: N, T_test, 'r-*', 1: N, T_sim2, 'b-o', 'LineWidth', 1)
legend('真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'测试集预测结果对比'; ['准确率=' num2str(error2) '%']};
title(string)
grid
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  混淆矩阵
if flag_conusion == 1

    figure
    cm = confusionchart(T_train, T_sim1);
    cm.Title = 'Confusion Matrix for Train Data';
    cm.ColumnSummary = 'column-normalized';
    cm.RowSummary = 'row-normalized';
    
    figure
    cm = confusionchart(T_test, T_sim2);
    cm.Title = 'Confusion Matrix for Test Data';
    cm.ColumnSummary = 'column-normalized';
    cm.RowSummary = 'row-normalized';
end