我正在研究一个多维数据的回归模型(决策树),它有16个特性。模型r2_score为0.97。Y检验和y预测图看起来太错误了!X的范围不一样。

你能告诉我有什么问题吗?
我还试着用一维拟合模型来检查图中的x范围,但它只是明显地降低了分数,而且图仍然很奇怪!
发布于 2022-11-20 02:11:02
Matplotlib的plot函数通过按照绘制点的顺序连接这些点,绘制了一条单线。你看到混乱的原因是因为点不是沿x轴排列的。
在回归模型中,您有一个函数f(x) -> R,其中f是您的决策树,x位于16维空间中。但是,您不能沿着x轴排序您的x,它有16个维度.
相反,您所能做的只是将每个索引的基本真理和预测值绘制成散点图:
import numpy as np
# Here, I'm assuming y_DT_5 is either a 1D array or a column vector.
# If necessary, change the argument of np.arange accordingly to get the number of values
idxs = np.arange(len(y_DT_5))
plt.figure(figsize=(16,4))
plt.scatter(x=idxs, y=y_DT_5, marker='x') # Plot each ground truth value as separate pts
plt.scatter(x=idxs, y=y_test, marker='.') # Plot each predicted value as separate points如果你的模型有效的话,在每个指数上绘制的两个点应该沿着y轴靠近。
https://stackoverflow.com/questions/74505098
复制相似问题