matlab的算法java_matlab环境下的回归算法分析
嗨,我想對回歸技術進行全面分析,因此將繼續編輯這個問題 . 我正在嘗試使用Matlab中提供的技術來解決回歸問題 . 理想情況下,我想看看諸如此類的技巧
線性回歸
Logistic回歸
貝葉斯回歸
支持向量回歸
回歸的高斯過程
問題陳述
給定數據 X 和 Y ,其大小為 333x128 和 333x1 ,其中 333 是訓練示例的數量, 128 是要素尺寸 . 我正在解決的問題是回歸問題和 not a classification one . 我打算在Matlab中完成上述所有操作 .
線性回歸
線性回歸的代碼如下:它從“hald”數據集中獲取輸入數據,并將前10個元素用于訓練目的,接下來的3個元素用于測試目的 . 最后一行打印輸出,即預測值和實際標簽 .
clc; clear all; close all;
load hald
X = ingredients; % Predictor variables
y = heat; % Response
mdl = fitlm(X(1:10,:),y(1:10,:));
predicted_values = feval(mdl,X(11:end,:));
[y(11:end,:) predicted_values]
輸出如下:
ans =
83.8000 80.2845
113.3000 112.8545
109.4000 112.5293
但是,任何人都可以向我解釋廣義線性回歸模型的含義嗎?在matlab中,有兩個專門用于此的命令:glmfit / glmval和fitglm / feval .
應用廣義線性規則模型的代碼如下:
mdl = fitglm(X(1:10,:),y(1:10,:),'quadratic');
predicted_values = feval(mdl,X(11:end,:));
error = sum((y(11:end,:)-predicted_values).^2)
[b, dev] = glmfit(X(1:10,:),y(1:10,:),'normal','link','identity');
predicted_values = glmval(b,X(11:end,:),'identity');
error = sum((y(11:end,:)-predicted_values).^2)
What is the difference between the two operations ?
此外 glmfit 有一個名為 distr 和 link 的術語 . 這種分布是什么意思?如何選擇最佳分銷?對于上面的例子,僅基于數據如何估計apriori的分布?
另外據我所知,鏈接功能用于 Build 線性模型和響應變量之間的鏈接 . 這是否意味著邏輯回歸是廣義線性回歸模型的子集?我在wiki link閱讀了詳細信息,但無法理清我的懷疑 .
支持向量回歸
線性回歸的代碼如下:這里我可以選擇標準化數據 . 我選擇的內核是具有自動縮放的rbf內核 . 許多選項,如多項式內核,高斯內核,線性等也可用 .
mdl = fitrsvm(X(1:10,:),y(1:10,:),'KernelFunction','rbf','KernelScale','auto','Standardize',true);
predicted_values = predict(mdl,X(11:end,:));
Logistic回歸
我無法使用邏輯回歸來解決這個回歸問題 . 我有各種各樣的來源,他們總是解決了分類問題,但我的標簽空間是連續的而不是離散的 . 在這個wiki article中明確指出 As such it is not a classification method . 但是基于答案here和here在我看來 logistic regression can only be used for classification ?
我也經歷了mnrfit / mnrval教程,但他們也處理了分類問題 .
請根據我的上述數據提供一個小例子來說明邏輯回歸如何用于回歸?
總結
以上是生活随笔為你收集整理的matlab的算法java_matlab环境下的回归算法分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET基础 (03)生成、部署和管理
- 下一篇: 软件项目风险管理