使用线性回归进行波士顿房价预测。 2、按照机器学习工作流程完成(五个步骤:获取数据,数据预处理,特征工程,机器学习,模型评估。
时间: 2024-11-26 08:20:09 浏览: 6
使用线性回归对波士顿房价进行预测是经典的机器学习入门案例之一。线性回归是一种监督学习算法,主要用于预测连续变量。下面是按照机器学习工作流程完成波士顿房价预测的五个步骤:
1. **获取数据**:
首先,你需要从某个数据源获取波士顿房价的数据集,比如sklearn库中的`Boston Housing`数据集。你可以使用以下代码导入数据:
```python
from sklearn.datasets import load_boston
boston = load_boston()
X, y = boston.data, boston.target
```
2. **数据预处理**:
- `X`通常是特征矩阵,包含13个描述波士顿房屋的各种属性(如犯罪率、低收入家庭比例等)。
- `y`是目标变量,即房价。可能需要检查缺失值并决定是否填充或删除它们,以及数据类型是否合适。
```python
import pandas as pd
df = pd.DataFrame(X, columns=boston.feature_names)
df['PRICE'] = y # 假设'y'列是房价,添加到DataFrame中便于理解
if any(df.isna()):
print("处理缺失值...")
df.fillna(df.mean(), inplace=True) # 使用平均值填充缺失值
```
3. **特征工程**:
- 根据业务背景选择或创建新的特征。在这个例子中,可能会考虑特征之间的交互,但基础模型通常不需要额外工程。
- 可能需要标准化或归一化数值特征,确保所有特征在同一尺度上。
4. **机器学习**:
使用sklearn库构建和训练线性回归模型:
```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(X, y, test_size=0.2, random_state=42)
model = LinearRegression()
model.fit(X_train, y_train)
```
5. **模型评估**:
- 对测试集进行预测并计算误差指标,如均方误差(MSE)或R²分数,来衡量模型性能:
```python
from sklearn.metrics import mean_squared_error, r2_score
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f"Mean Squared Error: {mse}")
print(f"R² Score: {r2}")
```
如果结果不满意,可以尝试调整参数或尝试其他更复杂的模型。
阅读全文