线性回归之---1.0简介

博客介绍了线性回归的应用场景,如房价、销售额度、贷款额度预测。阐述了线性回归的定义,即利用回归方程对自变量和因变量关系建模,分单变量和多元回归。还分析了线性回归特征与目标的线性和非线性关系。

一.线性回归的应用场景
房价预测
销售额度预测
贷款额度预测
二.什么是线性回归
定义:
线性回归是利用回归方程(函数),对一个或多个自变量(特征值)和因变量之间的关系进行建模的一种分析方式.
特点:只有一个自变量的情况称为单变量回归,多于一个自变量的情况叫做多元回归
通用公式:

在这里插入图片描述
矩阵表示
在这里插入图片描述
在这里插入图片描述
从列的角度看

在这里插入图片描述
三.线性回归的特征与目标的关系分析
线性关系—单变量线性关系
在这里插入图片描述
线性关系—多变量线性关系
在这里插入图片描述
非线性关系
在这里插入图片描述

### 使用机器学习进行线性回归波士顿房价预测的实践教程 以下是基于 Python 和 `sklearn` 库实现波士顿房价预测的一个完整流程,涵盖了数据加载、预处理、模型训练、评估和优化等内容。 #### 1. 导入必要的库 为了完成整个实验,我们需要导入一些常用的 Python 数据科学库: ```python import numpy as np import pandas as pd from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error, r2_score import matplotlib.pyplot as plt import seaborn as sns ``` 这些库分别用于数值计算、数据分析、数据加载、模型构建、性能评估以及可视化[^1]。 --- #### 2. 加载并探索数据集 波士顿房价数据集可以通过 `sklearn.datasets.load_boston()` 函数获取。以下是对数据集的基本操作: ```python boston = load_boston() data = pd.DataFrame(boston.data, columns=boston.feature_names) data['MEDV'] = boston.target print(data.head()) ``` 此部分展示了如何将原始数据转换为 Pandas DataFrame 格式以便于后续分析。同时可以查看前几行数据以熟悉其结构[^2]。 --- #### 3. 数据预处理与可视化 在建模之前,通常需要对数据进行一定的清理和探索性分析 (EDA),例如检查缺失值、异常值等,并绘制相关图帮助理解各特征之间的关系: ```python # 检查是否有缺失值 print(data.isnull().sum()) # 绘制热力图观察特征间的相关性 plt.figure(figsize=(10,8)) sns.heatmap(data.corr(), annot=True, cmap='coolwarm') plt.show() # 对某些重要特征绘制成散点图 plt.scatter(data['RM'], data['MEDV']) plt.xlabel('Average number of rooms per dwelling (RM)') plt.ylabel('Median value of owner-occupied homes ($1000s) MEDV') plt.title('Relationship between RM and MEDV') plt.show() ``` 上述代码片段可以帮助识别哪些特征可能对目标变量有较大影响。 --- #### 4. 构建线性回归模型 接下来划分训练集与测试集,并利用 `LinearRegression` 类创建简单的线性回归模型: ```python X = data.drop('MEDV', axis=1) y = data['MEDV'] 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 predictions = model.predict(X_test) mse = mean_squared_error(y_test, predictions) r2 = r2_score(y_test, predictions) print(f'Mean Squared Error: {mse}') print(f'R-squared Value: {r2}') # 可视化真实值 vs 预测值 plt.scatter(y_test, predictions) plt.plot([min(y_test), max(y_test)], [min(y_test), max(y_test)], color='red') plt.xlabel('Actual Values') plt.ylabel('Predicted Values') plt.title('Actual vs Predicted Prices') plt.show() ``` 通过以上方式能够直观看出我们的模型效果如何。 --- #### 6. 进阶改进方向 如果希望进一步提升模型表现,则可尝试引入正则化技术如岭回归(Lasso Regression)[^3]: ```python from sklearn.linear_model import Ridge ridge_model = Ridge(alpha=1.0) ridge_model.fit(X_train, y_train) ridge_predictions = ridge_model.predict(X_test) ridge_mse = mean_squared_error(y_test, ridge_predictions) ridge_r2 = r2_score(y_test, ridge_predictions) print(f'Ridge Mean Squared Error: {ridge_mse}') print(f'Ridge R-squared Value: {ridge_r2}') ``` 这种做法有助于减少过拟合风险从而获得更好的泛化能力[^3]。 --- ### 结论 综上所述,本文介绍了从零开始使用Python中的Sklearn工具包执行波士顿房屋价格预测项目的全过程,涉及到了基础的数据准备阶段直至最终的结果展示环节。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值