使用波士领房价数据集,分别利用决策树和随机森林进行训练,并分别输入两个模型在测试集上的准确率
时间: 2024-02-11 09:08:18 浏览: 150
好的,我明白了你的问题。但是请注意,我是一个语言模型,不能直接训练模型。我可以给你提供一个大致的步骤,帮助你完成这个任务。
首先,你需要下载并加载波士顿房价数据集。然后,你可以将数据集分成训练集和测试集。建议使用 scikit-learn 库来完成这个任务。
接下来,你可以使用决策树和随机森林算法来训练模型。同样,你可以使用 scikit-learn 库中的 DecisionTreeRegressor 和 RandomForestRegressor 类来完成训练过程。
最后,你可以使用测试集来评估模型的性能。评估指标可以选择均方根误差(RMSE)或平均绝对误差(MAE)等。
以下是一个简单的示例代码:
```
# 加载数据集
from sklearn.datasets import load_boston
boston = load_boston()
# 划分数据集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=42)
# 训练决策树模型
from sklearn.tree import DecisionTreeRegressor
dt = DecisionTreeRegressor(random_state=42)
dt.fit(X_train, y_train)
# 训练随机森林模型
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(random_state=42)
rf.fit(X_train, y_train)
# 评估模型性能
from sklearn.metrics import mean_squared_error, mean_absolute_error
y_pred_dt = dt.predict(X_test)
y_pred_rf = rf.predict(X_test)
rmse_dt = mean_squared_error(y_test, y_pred_dt, squared=False)
rmse_rf = mean_squared_error(y_test, y_pred_rf, squared=False)
mae_dt = mean_absolute_error(y_test, y_pred_dt)
mae_rf = mean_absolute_error(y_test, y_pred_rf)
print("决策树模型的 RMSE 值为:", rmse_dt)
print("随机森林模型的 RMSE 值为:", rmse_rf)
print("决策树模型的 MAE 值为:", mae_dt)
print("随机森林模型的 MAE 值为:", mae_rf)
```
希望这对你有所帮助!
阅读全文