lin_reg_pred
Typer | Posted on | |
# ------------------------------
# 导入所需库
# ------------------------------
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# ------------------------------
# 生成模拟数据:房屋面积 vs 房价
# ------------------------------
np.random.seed(0) # 设置随机种子,保证结果可复现
X = 2 * np.random.rand(100, 1) # 生成100个[0,2)区间的随机面积
y = 4 + 3 * X + np.random.randn(100, 1) # 构造带噪声的房价数据(线性关系)
# ------------------------------
# 创建并训练线性回归模型
# ------------------------------
model = LinearRegression()
model.fit(X, y)
# ------------------------------
# 使用模型进行预测
# ------------------------------
y_pred = model.predict(X)
# ------------------------------
# 可视化数据与拟合直线
# ------------------------------
plt.scatter(X, y, label='Data') # 原始散点
plt.plot(X, y_pred, color='red', label='Linear Regression') # 拟合直线
plt.xlabel('House Size')
plt.ylabel('House Price')
plt.title('Linear Regression Example')
plt.legend()
plt.show()
# ------------------------------
# 对新样本做预测
# ------------------------------
new_house_size = np.array([[1200]]) # 新样本:1200 平方英尺
predicted_price = model.predict(new_house_size)
print(f"Predicted Price for a 1,200 sq. ft. house: ${predicted_price[0][0]:.2f}")