您好我想对回归技术进行全面分析,因此将继续编辑此问题。我正在尝试使用Matlab中提供的技术来解决回归问题。理想情况下,我想看看
等技术根据大小X
和Y
的数据333x128
和333x1
,其中333
是培训示例的数量,128
是特征尺寸。我要解决的问题是回归问题,不是分类问题。我打算在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)
这两项操作有什么区别?
此外,glmfit
还有一个名为distr
和link
的字词。这种分布意味着什么?如何选择最佳分销?对于上面的例子,仅基于数据如何估计apriori的分布?
据我所知,链接功能用于在线性模型和响应变量之间建立链接。这是否意味着逻辑回归是广义线性回归模型的子集?我在wiki link阅读了详细信息,但无法澄清我的怀疑。
线性回归的代码如下:这里我可以选择标准化数据。我选择的内核是具有自动缩放的rbf内核。许多选项如多项式内核,高斯内核,线性等也可用。
mdl = fitrsvm(X(1:10,:),y(1:10,:),'KernelFunction','rbf','KernelScale','auto','Standardize',true);
predicted_values = predict(mdl,X(11:end,:));
我无法使用逻辑回归来解决此回归问题。我有各种各样的来源,他们总是解决了分类问题,但我的标签空间是连续的而不是离散的。在此wiki article中明确指出因此它不是分类方法。然而 基于答案here和here,在我看来,逻辑回归只能用于分类?
我还浏览了mnrfit / mnrval教程,但也处理了分类问题。
请根据我的上述数据提供一个小例子来说明逻辑回归如何用于回归?