机器学习随机森林气温预测源代码
时间: 2025-01-06 15:01:50 浏览: 2
以下是一个使用Python和scikit-learn库实现的随机森林算法来预测气温的示例源代码:
```python
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_error, mean_squared_error
import numpy as np
# 读取数据
data = pd.read_csv('temperature_data.csv')
# 特征选择
features = ['humidity', 'wind_speed', 'pressure', 'month', 'day']
X = data[features]
y = data['temperature']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建随机森林回归模型
rf_model = RandomForestRegressor(n_estimators=100, random_state=42)
# 训练模型
rf_model.fit(X_train, y_train)
# 进行预测
y_pred = rf_model.predict(X_test)
# 评估模型
mae = mean_absolute_error(y_test, y_pred)
mse = mean_squared_error(y_test, y_pred)
rmse = np.sqrt(mse)
print(f'Mean Absolute Error: {mae}')
print(f'Root Mean Squared Error: {rmse}')
# 特征重要性
importances = rf_model.feature_importances_
feature_importances = pd.Series(importances, index=features).sort_values(ascending=False)
print(feature_importances)
```
这段代码的主要步骤如下:
1. 导入必要的库。
2. 读取气温数据文件(CSV格式)。
3. 选择特征变量和目标变量。
4. 将数据集划分为训练集和测试集。
5. 创建随机森林回归模型。
6. 使用训练数据训练模型。
7. 用测试数据进行预测。
8. 评估模型性能,计算平均绝对误差(MAE)和均方根误差(RMSE)。
9. 计算并打印特征重要性。
要运行这段代码,你需要准备一个名为'temperature_data.csv'的CSV文件,其中包含历史气温数据和相关特征。确保文件中有'temperature'列作为目标变量,以及你选择的所有特征列。
阅读全文