분류 예측 | Matlab은 GA-RF 유전자 알고리즘을 구현하여 랜덤 포레스트 다중 입력 분류 예측을 최적화합니다.
효과 목록
기본 소개
Matlab은 GA-RF 유전자 알고리즘을 구현하여 랜덤 포레스트 다중 입력 분류 예측(완전한 소스 코드 및 데이터)을 최적화합니다.
Matlab은 GA-RF 유전자 알고리즘을 구현하여 랜덤 포레스트 분류 예측, 다중 입력 단일 출력 모델을 최적화합니다. GA-RF 분류 예측 모델은
여러 특성 입력과 단일 출력을 갖춘 2분류 및 다중 분류 모델입니다. 프로그램 내의 코멘트는 상세하며 데이터를 직접 교체하여 사용할 수 있습니다. 프로그래밍 언어는 MATLAB이며 이 프로그램은 분류 효과 다이어그램과 혼동 행렬 다이어그램을 생성할 수 있습니다. 랜덤 포레스트 트리의 트리 깊이를 최적화합니다.
프로그램 작성
- 전체 소스 코드 및 데이터 다운로드: Matlab은 GA-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
참고자료
[1] https://download.csdn.net/download/kjm13182345320/8789283?spm=1001.2014.3001.5503
[2] https://download.csdn.net/download/kjm13182345320/8789230114.878923014 503