MATLAB代做  | MATLAB代寫  | MATLAB有償編程
首 頁
當前位置:MATLAB代做|MATLAB代寫|MATLAB有償編程matlab源碼算法設計
支持向量機的回歸擬合混凝土抗壓強度預測matlab源碼程序        [↓跳到下載地址]
官方主頁:源碼共享網站:www.kggbzb.tw

聯系方式:客服QQ:1747812398 買代碼源碼軟件站,歡迎咨詢

運行環境:Win9X/2000/XP/2003/

源碼語言:簡體中文

源碼類型:源碼程序 - 算法設計

推薦星級:

更新時間:2015-09-20 15:54:30

源碼簡介

%% 清空環境變量
clear all
clc

%% 導入數據
load concrete_data.mat
% 隨機產生訓練集和測試集
n = randperm(size(attributes,2));
% 訓練集——80個樣本
p_train = attributes(:,n(1:80))';
t_train = strength(:,n(1:80))';
% 測試集——23個樣本
p_test = attributes(:,n(81:end))';
t_test = strength(:,n(81:end))';

%% 數據歸一化

% 訓練集
[pn_train,inputps] = mapminmax(p_train');
pn_train = pn_train';
pn_test = mapminmax('apply',p_test',inputps);
pn_test = pn_test';
% 測試集
[tn_train,outputps] = mapminmax(t_train');
tn_train = tn_train';
tn_test = mapminmax('apply',t_test',outputps);
tn_test = tn_test';

%% SVM模型創建/訓練

% 尋找最佳c參數/g參數
[c,g] = meshgrid(-10:0.5:10,-10:0.5:10);
[m,n] = size(c);
cg = zeros(m,n);
eps = 10^(-4);
v = 5;
bestc = 0;
bestg = 0;
error = Inf;
for i = 1:m
    for j = 1:n
        cmd = ['-v ',num2str(v),' -t 2',' -c ',num2str(2^c(i,j)),' -g ',num2str(2^g(i,j) ),' -s 3 -p 0.1'];
        cg(i,j) = svmtrain(tn_train,pn_train,cmd);
        if cg(i,j) < error
            error = cg(i,j);
            bestc = 2^c(i,j);
            bestg = 2^g(i,j);
        end
        if abs(cg(i,j) - error) <= eps && bestc > 2^c(i,j)
            error = cg(i,j);
            bestc = 2^c(i,j);
            bestg = 2^g(i,j);
        end
    end
end
% 創建/訓練SVM 
cmd = [' -t 2',' -c ',num2str(bestc),' -g ',num2str(bestg),' -s 3 -p 0.01'];
model = svmtrain(tn_train,pn_train,cmd);

%% SVM仿真預測
[Predict_1,error_1] = svmpredict(tn_train,pn_train,model);
[Predict_2,error_2] = svmpredict(tn_test,pn_test,model);
% 反歸一化
predict_1 = mapminmax('reverse',Predict_1,outputps);
predict_2 = mapminmax('reverse',Predict_2,outputps);
% 結果對比
result_1 = [t_train predict_1];
result_2 = [t_test predict_2];

%% 繪圖
figure(1)
plot(1:length(t_train),t_train,'r-*',1:length(t_train),predict_1,'b:o')
grid on
legend('真實值','預測值')
xlabel('樣本編號')
ylabel('耐壓強度')
string_1 = {'訓練集預測結果對比';
           ['mse = ' num2str(error_1(2)) ' R^2 = ' num2str(error_1(3))]};
title(string_1)
figure(2)
plot(1:length(t_test),t_test,'r-*',1:length(t_test),predict_2,'b:o')
grid on
legend('真實值','預測值')
xlabel('樣本編號')
ylabel('耐壓強度')
string_2 = {'測試集預測結果對比';
           ['mse = ' num2str(error_2(2)) ' R^2 = ' num2str(error_2(3))]};
title(string_2)

%% BP 神經網絡

% 數據轉置
pn_train = pn_train';
tn_train = tn_train';
pn_test = pn_test';
tn_test = tn_test';
% 創建BP神經網絡
net = newff(pn_train,tn_train,10);
% 設置訓練參數
net.trainParam.epcohs = 1000;
net.trainParam.goal = 1e-3;
net.trainParam.show = 10;
net.trainParam.lr = 0.1;
% 訓練網絡
net = train(net,pn_train,tn_train);
% 仿真測試
tn_sim = sim(net,pn_test);
% 均方誤差
E = mse(tn_sim - tn_test);
% 決定系數
N = size(t_test,1);
R2=(N*sum(tn_sim.*tn_test)-sum(tn_sim)*sum(tn_test))^2/((N*sum((tn_sim).^2)-(sum(tn_sim))^2)*(N*sum((tn_test).^2)-(sum(tn_test))^2));
% 反歸一化
t_sim = mapminmax('reverse',tn_sim,outputps);
% 繪圖
figure(3)
plot(1:length(t_test),t_test,'r-*',1:length(t_test),t_sim,'b:o')
grid on
legend('真實值','預測值')
xlabel('樣本編號')
ylabel('耐壓強度')
string_3 = {'測試集預測結果對比(BP神經網絡)';
           ['mse = ' num2str(E) ' R^2 = ' num2str(R2)]};
title(string_3)


提 示:本站所有源碼只提供瀏覽,需要定制的朋友可以聯系在線客服!
注意:價格根據項目的難易程度來定價格業務咨詢

支持向量機的回歸擬合混凝土抗壓強度預測matlab源碼程序 --下載地址

注意:為避免不必要的誤會,本站項目里的源碼只公開部分需要的聯系在線客服

本站長期招聘程序代寫高手,歡迎加入華南地區matlab團隊

想創業卻沒有經驗的人

無論你是否有過網上開店的經驗,都可以隨時聯系在線客服,建立自己獨立的網站
想開網店卻不知道如何入手

淘寶創業成本低而且風險小,如果想開淘寶店的朋友可以聯系在線客服。
想兼職創業,卻不擅長交際與服務的人

在家創業月入5000元。網站程序+百套群發工具+網賺資料+域名+空間+本站終身代理資格,這樣你網賺的條件全具備了。每天3小時管理、推廣、收錢。
缺乏能快速贏利型產品的人

導入多種最新流行營銷軟件+網賺教程,讓入駐者輕松加盟、復制有效成交技巧、快速賺錢。

源碼評論評論內容只代表網友觀點,與本站立場無關!

   評論摘要(共 0 條,得分 0 分,平均 0 分) 查看完整評論

瀏覽說明

* 本站所有源碼全部公開,隨時隨地瀏覽!
* MATLAB軟件如用于商業用途,請購買正版!
* 如果您發現下載鏈接錯誤,請點擊報告錯誤謝謝!
* 站內提供的所有軟件包含破解及注冊碼均是由網上搜集,若侵犯了你的版權利益,敬請來信通知我們!
Copyright © 2008-2014 www.kggbzb.tw. All Rights Reserved.
頁面執行時間:250.00000 毫秒
安微25选5开奖号