用python语言用随机森林算法写一个读取excel数据,输入第3,12,21列,输出第78列,将excel里的数据的百分之90作为训练集,百分之10作为测试集,并且画出图像的代码
时间: 2023-06-17 14:02:50 浏览: 87
以下是一个使用随机森林算法读取Excel数据、进行训练和测试、画出图像的Python代码示例:
```python
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
import matplotlib.pyplot as plt
# 读取Excel数据
df = pd.read_excel('data.xlsx')
# 选择输入和输出列
X = df.iloc[:, [2, 11, 20]].values
y = df.iloc[:, 77].values
# 划分训练集和测试集
n_samples = len(df)
train_size = int(n_samples * 0.9)
X_train, X_test = X[:train_size], X[train_size:]
y_train, y_test = y[:train_size], y[train_size:]
# 训练随机森林模型
rf = RandomForestRegressor(n_estimators=100)
rf.fit(X_train, y_train)
# 测试随机森林模型
y_pred = rf.predict(X_test)
# 画出预测结果和真实结果的比较图像
plt.plot(y_test, label='True')
plt.plot(y_pred, label='Prediction')
plt.legend()
plt.show()
```
需要注意的是,这段代码中的`data.xlsx`是一个Excel文件,包含了输入和输出数据。其中第3、12、21列是输入数据,第78列是输出数据。如果需要使用其他Excel文件,请将代码中的文件名改为相应的文件名。另外,`RandomForestRegressor`是一个随机森林回归模型,可以通过调整`n_estimators`来改变森林中树的数量。
阅读全文