利用波士顿房价数据集进行简单的线性回归预测并将预测的结果和真实值通过画图进行可视化分析
时间: 2024-12-02 07:22:42 浏览: 28
基于支持向量机SVM的时间序列数据训练测试和预测未来数据(代码完整,数据齐全)
5星 · 资源好评率100%
利用波士顿房价数据集进行简单的线性回归预测通常涉及以下几个步骤:
1. **加载数据**:首先从sklearn库中导入所需的`load_boston`函数,加载波士顿房价数据集。
```python
from sklearn.datasets import load_boston
import pandas as pd
boston = load_boston()
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['PRICE'] = boston.target # 将目标变量添加到DataFrame中
```
2. **数据探索**:查看数据的基本统计信息,确定哪些特征对房价有影响。
3. **数据预处理**:如果有必要,进行数据归一化或标准化,以便于模型训练。
4. **分割数据**:将数据集分为训练集和测试集,例如70%用于训练,30%用于验证模型性能。
5. **构建模型**:使用sklearn库中的`LinearRegression`类创建线性回归模型。
6. **训练模型**:用训练集数据拟合模型。
```python
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
X_train, X_test, y_train, y_test = train_test_split(df.drop('PRICE', axis=1), df['PRICE'], test_size=0.3, random_state=42)
model = LinearRegression()
model.fit(X_train, y_train)
```
7. **预测**:用测试集数据进行预测。
8. **结果评估**:计算模型的预测误差,并绘制预测结果与真实值的散点图,比如使用matplotlib库。
```python
from sklearn.metrics import mean_squared_error
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
plt.scatter(y_test, y_pred)
plt.xlabel('True Values')
plt.ylabel('Predicted Values')
plt.title(f'MSE: {mse:.2f}')
plt.show()
```
通过这样的分析,你可以直观地看到模型对于房价预测的能力,以及是否存在过拟合或欠拟合等问题。同时,可以进一步探索特征重要性,优化模型参数,提高预测精度。
阅读全文