Matlab绘制线性回归在3D散点图上

3

我刚开始学习matlab并参加了UBC AI课程。我使用最小二乘算法为我正在处理的数据集生成权重,我生成的权重是[ 0.3400 ,-0.0553 , -0.0667]

使用生成的权重,我预测了当前数据集的y值(预测值显示为x,实际值显示为圆点)。这就带来了一个问题,如何使用我收集到的数据和权重可视化回归平面。所以,我的问题基本上是如何使用我现在收集到的数据可视化线性回归平面,或者我漏掉了什么吗?

生成的权重是否对应于y截距、斜率及其方向?如果是,它们如何适合于2D平面方程?

enter image description here


1
我已经发布了可视化回归平面的答案。然而,您的结果是二进制的,因此您应该将任何大于0.5的预测四舍五入为1,并将小于0.5的预测四舍五入为0。更有趣的可视化可能是截止线,在一侧预测点为1,在另一侧预测点为0。为了可视化这条线,不要使用平面“y=ax1+bx2+c”,而是绘制线“0.5=ax1+bx2+c”。 - Kyle Heuton
1个回答

2

您生成的那些权重是回归系数,即Beta0、Beta1Beta2。如果y是您的纵轴,x1、x2 是您的特征或横轴,则它们为您提供了平面方程:

y = Beta0 + Beta1*x1 + Beta2*x2

对于您而言,这个式子是:

y = 0.3400 + -0.0553*x1 + -0.0667*x2

至于如何可视化这个平面,我们可以在这个SO答案中找到答案。

weights = [ 0.3400 ,-0.0553 , -0.0667];
[x1,x2]=ndgrid(-5:1:5,-5:1:5);
y = weights(1) + weights(2)*x1 + weights(3)*x2

figure
surf(x1,x2,y);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接