如何绘制随机森林模型的回归曲线

时间:2021-04-01 12:49:58

标签: python matplotlib random-forest

我目前正在处理一个我有模拟/模型数据的项目。该数据由多个特征组成,其中只有一个特征影响响应变量。这是一个非常简化的用例,因为它仅用于演示目的。 我使用了基本的随机森林回归(scikit-learn)来预测因变量。由于其简单性,该模型表现相当好,这是预期的。我遇到的问题是绘制模型的回归曲线(剩余使用寿命是因变量,温度是影响它的特征)。我正在使用 pyplot 来做到这一点,但我没有得到预期的结果(见下文)。我原以为情节大致是底部曲线。我不知道为什么上面的直线在那里。

Plot that is created

澄清我期望得到的: 下面是相同数据的散点图

scatter plot of the data

我的问题:

  1. 为什么剧情会这样?是否与 RF 的工作方式有关?
  2. 有没有办法获得“干净”的回归曲线? (例如,散点图的形状只有一条线)如果是这样:如何实现?

我用于情节的代码:

plt.plot(y_hat_train_rf, X_train[['temp']], color='k')

1 个答案:

答案 0 :(得分:0)

感谢 F. Gyllenhammar 的评论,我现在找到了解决方案。这对于有经验的人来说应该是显而易见的,但我还是会分享我的解决方案。

解决步骤:

  1. 创建连接 x 和 y 的新数据框。
  2. 按 x 排序
  3. 情节