发布于 2018-06-04 02:24:01
要展开注释中的讨论,请考虑运行以下代码:
plt.figure(figsize=(12,8))
plt.scatter(range(len(y_test)), y_test, marker='d', c='red')
plt.scatter(range(len(predictions)), predictions, marker='d', c='blue')
plt.scatter(range(len(y_test)), (y_test - predictions), marker='^', c='green')
它将向您显示以下图。y_test
的分布如红色菱形所示。predictions
的分布如蓝色菱形所示。如果用predictions
减去y_test
的每个点,就会得到绿色三角形。由于我们正在尝试预测提示,我们希望最小化test data
之间的误差,这是实际数据,与我们使用机器学习所做的predictions
之间的误差。
如果你把所有这些绿色三角形都拿出来,做一个distplot
,它会显示出你附加在问题上的图像。下面是每个变量的分布:
# Code to reproduce the plot below
fig = plt.figure(figsize=(12,8))
ax = fig.add_subplot(311)
sb.distplot(y_test)
plt.title('y_test')
plt.xlim([-10, 10])
ax = fig.add_subplot(312)
sb.distplot(predictions)
plt.title('predicted tips')
plt.xlim([-10, 10])
ax = fig.add_subplot(313)
sb.distplot(y_test - predictions)
plt.title('y_test - predicted tips')
plt.xlim([-10, 10])
plt.tight_layout()
plt.show()
发布于 2018-06-04 02:02:02
您可以考虑密度图,它显示了数据在给定值时出现的相对数量。所讨论的值是观察值和拟合变量值之间的差异。如果拟合是完美的,那么所有的差异都将为0,并且在0处将只有一个条形。拟合并不完美,存在一些大于或小于0的差异,但它们离零并不太远。
作者得出的结论可能太过强烈:该图没有证明差异接近于零,但它表明差异以零为中心。一般来说,对于线性回归,这是一个很好的结果。
https://stackoverflow.com/questions/50669200
复制相似问题