コードを使用した Seagull アルゴリズムに基づく改善されたランダム フォレスト回帰アルゴリズム

コードを使用した Seagull アルゴリズムに基づく改善されたランダム フォレスト回帰アルゴリズム


要約: ランダム フォレスト データの回帰予測精度を向上させるために、カモメ探索アルゴリズムを使用して、ランダム フォレスト内のツリーの数とリーフ ポイントの最小数のパラメーターを最適化します。

1.データセット

データ情報は次のとおりです。

data.mat には入力データと出力データが含まれます

入力データの次元: 2000*2

出力データの次元は2000*1

したがって、RF モデルのデータ入力次元は 2 で、出力次元は 1 です。

2. RFモデル

ランダム フォレストについては、関連する機械学習の書籍を参照してください。

3.かもめアルゴリズム最適化に基づくRF

カモメの検索アルゴリズムの特定の原則については、ブログを参照してください: https://blog.csdn.net/u011835903/article/details/107535864

seagull アルゴリズムの最適化パラメーターは、R​​F 内のツリーの数とリーフ ノードの最小数です。適合度関数は、トレーニング セットとテスト セットでの RF の平均二乗誤差 (MSE) であり、平均二乗誤差 MSE が低いほど優れています。
finteness = MSE [予測 (トレーニング)] + MSE [予測 (テスト)] finteness = MSE[予測 (トレーニング)] + MSE [予測 (テスト)]フィネス_ _ _ _ _=MSE [予測(列車) ] _ _ _ _ _ _+MSE [予測(検定) ] _ _ _ _ _ _

4. 試験結果

データ分割情報は次のとおりです。トレーニング セットの数は 1900 グループ、テスト セットの数は 100 グループです。

Seagull パラメータは次のように設定されます。

%% 定义海鸥优化参数
pop=20; %种群数量
Max_iteration=30; %  设定最大迭代次数
dim = 2;%维度,即树个数和最小叶子点树
lb = [1,1];%下边界
ub = [50,20];%上边界
fobj = @(x) fun(x,Pn_train,Tn_train,Pn_test,Tn_test);

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

MSE の結果から、改善された Seagull-RF は、改善されていない結果よりも大幅に優れています。

5.Matlab コード

6. Python コード

おすすめ

転載: blog.csdn.net/u011835903/article/details/130514998