由于知道在回归问题中,训练集的所得到的模型是优于测试集和验证集的,那么我们如何是现在在python中对测试集的结果画出最拟合的图像,请以随机森林将数据分为训练集测试集和验证集为例为例
时间: 2024-05-04 12:18:17 浏览: 31
在Python中,我们可以使用matplotlib库来画出拟合图像。下面是使用随机森林模型对测试集数据进行拟合并画出拟合图像的代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
# 生成随机数据
np.random.seed(0)
X = np.sort(5 * np.random.rand(80, 1), axis=0)
y = np.sin(X).ravel()
# 将数据分为训练集、测试集和验证集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.2)
# 训练随机森林模型
model = RandomForestRegressor(n_estimators=100, random_state=0)
model.fit(X_train, y_train)
# 对测试集数据进行预测
y_pred = model.predict(X_test)
# 画出拟合图像
plt.scatter(X_train, y_train, color='black', label='Training data')
plt.scatter(X_val, y_val, color='green', label='Validation data')
plt.scatter(X_test, y_test, color='red', label='Testing data')
plt.plot(X_test, y_pred, color='blue', linewidth=2, label='Predicted data')
plt.legend()
plt.show()
```
在上面的代码中,我们首先使用`train_test_split`函数将数据分为训练集、测试集和验证集。然后我们使用随机森林模型训练数据,并对测试集数据进行预测。最后,我们使用matplotlib库画出拟合图像,其中训练集、测试集和验证集分别用不同的颜色表示,预测结果用蓝色线条表示。通过这个图像,我们可以直观地看到预测结果与真实数据之间的拟合程度。
阅读全文