CART 回歸樹(基於MATLAB)

2021-09-18 03:16:16 字數 2071 閱讀 5870

clc

clear all

% 匯入資料

load('s_data.mat') % **s含量所用資料

n =12; % n 是自變數的個數

m = 1; % m 是因變數的個數

% 讀取訓練資料

train_num = 1600; %訓練樣本數

train_data = s_data(1:train_num,:);

train_input = s_data(1:train_num,1:n);

train_output = s_data(1:train_num,n+1:end);

% 樹的生成

leafs = logspace(1,3,10);

rng('default')

n = numel(leafs);

err = zeros(n,1);

for i=1:n

t = fitrtree(train_input,train_output,'crossval','on',...

'minleaf',leafs(i));

err(i) = kfoldloss(t);

end plot(leafs,err,'o-');

xlabel('min leaf size');

ylabel('cross-validated error');

tic;% **計時開始

tree = fitrtree(train_input,train_output,'minleaf',130);

toc; % **計時結束

view(tree,'mode','graph')

%訓練樣本**

cart_train_output = predict(tree,train_input);

% 訓練資料誤差

train_err = train_output - cart_train_output;

n1 = length(cart_train_output);

train_rmse = sqrt(sum((train_err).^2)/n1);

% 讀取測試集

test_output = s_data(train_num+1:end,n+1:end);

test_input = s_data(train_num+1:end,1:n);

%使用測試樣本進行驗證

cart_test_output = predict(tree,test_input);

% 測試資料誤差

test_err = test_output - cart_test_output;

n2 = length(cart_test_output);

test_rmse = sqrt(sum((test_err).^2)/n2);

% **結果視覺化

figure(4); % 繪製圖1

subplot(2,1,1); % 圖1包含2行1列個子圖形,首先繪製子圖1

plot(cart_test_output,':og'); % 用綠色的o繪製測試資料的**輸出值

hold on;

plot(test_output','-*b'); % 用藍色的*繪製測試資料的期望輸出值

legend('**輸出','期望輸出'); % 子圖1的注釋

title('回歸樹**s含量結果','fontsize',12) %子圖1的標題

ylabel('s含量','fontsize',12); % y軸

xlabel('樣本','fontsize',12); % x軸

subplot(2,1,2); % 繪製子圖2

plot(abs(test_output - cart_test_output),'-*'); % 輸出測試資料的**誤差

title('回歸樹**s含量誤差','fontsize',12) %子圖2的標題

ylabel('誤差','fontsize',12); % y軸

xlabel('樣本','fontsize',12); % x軸

ylim([0,0.01]);

CART分類回歸樹

cart分類回歸樹1984年提出,id3演算法1986年提出,c4.5演算法1993年提出 cart由特徵選擇 樹的生成及剪枝組成。cart假設決策樹是二叉樹,內部結點特徵取值為是和否 cart使用損失函式最小作為剪枝的標準。回歸樹的生成 使用平方誤差最小化準則。對於任意劃分特徵a,對應的任意劃分點...

CART 回歸樹 例項

例如 根據 職業和年齡來 月薪。職業年齡 月薪程式設計師 2220000 程式設計師23 26000 程式設計師29 30000 教師23 12000 教師25 14000 樣本x 1,0,22 1,0,23 1,0,29 0,1,23 0,1,25 注 我們對職業特徵進行了one hot公升維 樣...

CART回歸樹與分類樹

輸出是連續變數的是回歸樹,輸出是離散變數的是分類樹。cart決策樹是乙個二叉樹。輸入空間劃分為m個單元 單元對應輸出 是其對應的輸入空間。輸出取 上所有輸出的均值 下面,看輸入空間的劃分方法。假設最優切分變數 最優切分點 輸入空間被劃分為兩部分 它們的輸出是各自輸入空間中樣本標籤值 的均值和 因此,...