用python对波士顿房价使用lightgbm进行编程,并将结果进行可视化
时间: 2024-03-19 21:44:52 浏览: 14
好的,以下是用 Python 对波士顿房价使用 LightGBM 进行编程并将结果进行可视化的示例代码:
```python
import lightgbm as lgb
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
import seaborn as sns
# 加载波士顿房价数据集
boston = load_boston()
X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=42)
# 创建 LightGBM 数据集
train_data = lgb.Dataset(X_train, label=y_train)
test_data = lgb.Dataset(X_test, label=y_test)
# 设置 LightGBM 参数
params = {
'objective': 'regression',
'metric': 'mse'
}
# 训练 LightGBM 模型
num_rounds = 1000
model = lgb.train(params, train_data, num_rounds, valid_sets=[test_data])
# 预测测试集的房价
y_pred = model.predict(X_test)
# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print('均方误差:', mse)
# 可视化预测结果与真实值的对比
plt.figure(figsize=(10, 5))
sns.kdeplot(y_test, label='True')
sns.kdeplot(y_pred, label='Predicted')
plt.xlabel('House Price')
plt.ylabel('Density')
plt.title('True vs Predicted House Price')
plt.legend()
plt.show()
```
在这个示例代码中,我们使用 `load_boston()` 加载波士顿房价数据集,使用 `train_test_split()` 将数据集分为训练集和测试集,然后使用 `lgb.Dataset()` 创建 LightGBM 数据集。接下来,我们设置 LightGBM 的参数,包括目标函数和评价指标。最后,我们使用 `lgb.train()` 训练 LightGBM 模型,并使用 `predict()` 预测测试集的房价。最后,使用 `mean_squared_error()` 计算均方误差,使用 `sns.kdeplot()` 绘制预测结果和真实值的密度曲线进行可视化。