LinearRegression对波士顿房价收据第七列特征进行训练并画出拟合直线
时间: 2024-10-20 17:18:17 浏览: 10
LinearRegression是一种简单的线性模型,通常用于回归分析,它假设因变量和自变量之间存在线性关系。在机器学习领域,特别是数据分析中,我们常常会用它预测连续型数据,比如房价。波士顿房价数据集是一个经典的数据集,包含506条房屋的信息,其中第七列代表“LSTAT”(低收入家庭比例),这是一个重要的影响因素。
要使用LinearRegression对波士顿房价数据集中的第七列进行训练,并绘制拟合直线,你需要按照以下步骤操作:
1. 导入所需的库:如pandas、numpy、sklearn等。
```python
import pandas as pd
import numpy as np
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
```
2. 加载数据集并预处理:
```python
boston = load_boston()
data = pd.DataFrame(boston.data, columns=boston.feature_names)
target = boston.target
X = data[['LSTAT']] # 取出第七列作为特征
y = target
```
3. 划分训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
4. 创建并训练模型:
```python
model = LinearRegression()
model.fit(X_train, y_train)
```
5. 拟合并绘制直线:
```python
y_pred_train = model.predict(X_train)
plt.scatter(X_train['LSTAT'], y_train, color='blue')
plt.plot(X_train['LSTAT'], y_pred_train, color='red', linewidth=2)
plt.xlabel('LSTAT')
plt.ylabel('House Price')
plt.title('Linear Regression on Boston Housing Data - LSTAT vs. Predicted Prices')
plt.show()
```
在这个图中,蓝色点表示训练集的实际价格,红色直线则是模型预测的价格趋势。
阅读全文