【发布时间】:2018-07-16 20:31:29
【问题描述】:
这是我的代码:
function testRegression()
load carsmall
x1 = Weight;
x2 = Horsepower; % Contains NaN data
y = MPG;
X = [ones(size(x1)) x1 x2 x1.*x2];
X(isnan(X)) = 0;
y(isnan(y)) = 0;
for i = 2:size(X,2)
X(:,i) = (X(:,i) - min(X(:,i))) / (max(X(:,i)) - min(X(:,i)));
end
y = (y - min(y)) / (max(y) - min(y));
model = train(y,sparse(X),'s 0');
[a,b,c] = predict(y, sparse(X), model);
end
我总是得到 0 来进行预测。我的代码有什么问题? 当我不规范化 y 时,我得到了一些输出,但是当我规范化输出时,输出始终为 0。
【问题讨论】:
-
这段代码甚至无法运行。它如何预测某事?
-
@TommasoBelluzzo 它使用
liblinear,这是一个 SVM 分类包,专门用于使用线性 SVM 构建分类模型。您可能没有安装它:csie.ntu.edu.tw/~cjlin/liblinear。此外,标签确实清楚地写着liblinear。
标签: matlab regression libsvm liblinear