분류 예측 | Matlab은 GA-RF 유전자 알고리즘을 구현하여 랜덤 포레스트 다중 입력 분류 예측을 최적화합니다.

분류 예측 | Matlab은 GA-RF 유전자 알고리즘을 구현하여 랜덤 포레스트 다중 입력 분류 ​​예측을 최적화합니다.

효과 목록

여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

여기에 이미지 설명을 삽입하세요.

기본 소개

Matlab은 GA-RF 유전자 알고리즘을 구현하여 랜덤 포레스트 다중 입력 분류 ​​예측(완전한 소스 코드 및 데이터)을 최적화합니다.
Matlab은 GA-RF 유전자 알고리즘을 구현하여 랜덤 포레스트 분류 예측, 다중 입력 단일 출력 모델을 최적화합니다. GA-RF 분류 예측 모델은
여러 특성 입력과 단일 출력을 갖춘 2분류 및 다중 분류 모델입니다. 프로그램 내의 코멘트는 상세하며 데이터를 직접 교체하여 사용할 수 있습니다. 프로그래밍 언어는 MATLAB이며 이 프로그램은 분류 효과 다이어그램과 혼동 행렬 다이어그램을 생성할 수 있습니다. 랜덤 포레스트 트리의 트리 깊이를 최적화합니다.

프로그램 작성

%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  清空环境变量
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

추천

출처blog.csdn.net/kjm13182345320/article/details/133051900