【发布时间】:2016-11-22 19:23:45
【问题描述】:
我有一个带有标签和数据点的数据集,问题是我想要一个线性估计器而不是分类问题,例如:
dataset=prdataset([2,4,6,8]',[1,2,3,4]')
testset=prdataset([3,5,7,9]')
classifier=dataset*ldc %should probably be changed?
result=testset*classifier
result.data 现在变成了
ans =
1.0e-307 *
0.2225 0.2225 0.2225 0.2225
0.2225 0.2225 0.2225 0.2225
0.2225 0.2225 0.2225 0.2225
0.2225 0.2225 0.2225 0.2225
这是非常错误的。
理想情况下它会是[1.5,2.5,3.5,4.5]' 或接近它的东西。知道如何在 PRtools 或类似的东西中做到这一点吗?这是一个线性依赖,但我也希望能够使用其他类型的依赖?
此外,系统对 NaN 值有些聪明,这会严重污染我的真实数据集,这将是一个巨大的好处。
我已经找到了线性类,但是当我使用它时,我得到了大小奇怪的数据集,
dataset=prdataset([2,4,6,8]',[1,2,3,4]')
testset=prdataset([3,5,7,9]')
classifier=dataset*linearr%should probably be changed?
result=testset*classifier
给我价值观
0.1000 -0.3000 -0.7000 -1.1000
-0.5000 -0.5000 -0.5000 -0.5000
-1.1000 -0.7000 -0.3000 0.1000
-1.7000 -0.9000 -0.1000 0.7000
这又是不正确的。
在聊天中他们建议使用 .* 而不是 * 导致使用 * 时出错 内部矩阵尺寸必须一致。
Error in linearr (line 42)
beta = prinv(X'*X)*X'*gettargets(x);
Error in prmap (line 139)
[d, varargout{:}] = feval(mapp,a,pars{:});
Error in *
Error in dyadicm (line 81)
v1 = a*v1; % train first mapping
Error in prmap (line 139)
[d, varargout{:}] = feval(mapp,a,pars{:});
Error in *
在线性代码中。
为了清楚起见,我正在寻找一种方法,在给定大量值的情况下,找到最能描述它们关系的多项式集(其中考虑的多项式是程序的参数,在示例 1 中)命令)。所以在我们的例子中,多项式是 1/2a+0。在我的最终版本中,我想使用更多的参数(10-20),它可能需要二次估计。
【问题讨论】:
-
有点不清楚你在问什么?您应该查看stackoverflow.com/help/mcve 以获取有关发布可重现示例的提示。
prdataset和ldc是什么? -
@mgilbert ldc 和 prdataset 是 prtools 的默认部分,如果您安装它 (prtools.org),那么您只需插入此代码即可。ldc 是一个线性判别分类器,而 prdataset 也是一个数据集在 prtoolkit 中。因为我要问的是一种在 prtools 系统中获得持续预测标签的方法,在这个玩具示例中,我希望它知道标签是输入数据的一半。
-
ldc 使用
LDC(R,S,M)之类的语法,但您只是将其相乘...您要么没有显示整个代码,要么没有阅读文档。 -
@Oleg 我使用语法 [W,R,S,M] = A*LDC(R,S,M);其中 R S 和 M 都是可选参数,这意味着您可以将其留空,如果您不相信我,请安装 prtools 并尝试一下! 37steps.com/prtools/examples 展示了如何像 ldc 一样使用 fisherc。 ldc 的工作原理与 pi 的值一样。
标签: matlab machine-learning statistics regression data-science