机器学习波士顿房价预测python
时间: 2024-10-15 10:03:06 浏览: 41
波士顿房价预测是一个经典的机器学习问题,通常用于入门级的数据分析和建模教程。Python是一种流行的机器学习语言,有许多库如Scikit-Learn可以完成这个任务。以下是简单步骤:
1. **导入所需库**:首先需要导入`pandas`处理数据,`numpy`进行数值计算,以及`sklearn`里的`datasets`获取波士顿房价数据集。
```python
import pandas as pd
import numpy as np
from sklearn import datasets
```
2. **加载数据**:使用`load_boston()`函数从scikit-learn加载波士顿房价数据集。
```python
boston = datasets.load_boston()
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['PRICE'] = boston.target
```
3. **数据预处理**:对数据进行探索性数据分析(EDA),可能包括缺失值检查、异常值处理、特征缩放等。
4. **拆分数据**:将数据分为训练集和测试集,例如80%训练,20%测试。
```python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(df.drop('PRICE', axis=1), df['PRICE'], test_size=0.2, random_state=42)
```
5. **选择模型**:这里可以选择线性回归模型作为基础模型来进行房价预测,如`LinearRegression`。
```python
from sklearn.linear_model import LinearRegression
model = LinearRegression()
```
6. **训练模型**:使用训练数据拟合模型。
```python
model.fit(X_train, y_train)
```
7. **评估模型**:在测试集上预测并计算性能指标,如均方误差(MSE)或R²分数。
```python
y_pred = model.predict(X_test)
from sklearn.metrics import mean_squared_error, r2_score
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f"MSE: {mse}, R²: {r2}")
```
8. **优化调整**:根据性能调整模型参数,或者尝试其他算法(如随机森林、梯度提升机等)以获得更好的结果。
阅读全文