数据挖掘与机器学习实验-线性回归【机器学习实验】[广州大学]- python实现

一、实验目的

本实验课程是计算机、人工智能、软件工程等专业学生的一门专业课程,通过实验,帮助学生更好地掌握数据挖掘与机器学习相关概念、技术、原理、应用等;通过实验提高学生编写实验报告、总结实验结果的能力;使学生对机器学习模型、算法等有比较深入的认识。要掌握的知识点如下:

  1. 掌握机器学习中涉及的相关概念、模型、算法;
  2. 熟悉机器学习模型训练、验证、测试的流程;
  3. 熟悉常用的数据预处理方法;
  4. 掌握线性回归优化问题的表示、求解及编程。

二、基本要求

  1. 实验前,复习《数据挖掘与机器学习》课程中的有关内容。
  2. 准备好实验数据,编程完成实验内容,收集实验结果。
  3. 独立完成实验报告。

三、实验软件

推荐使用Python编程语言(允许使用numpy库,需实现详细实验步骤,不允许直接调用scikit-learn中关于回归、分类等高层API)。

四、实验内容:

基于California Housing Prices数据集,完成关于房价预测的线性回归模型训练、测试与评估。

  1. 准备数据集并认识数据
    下载California Housing Prices数据集https://www.kaggle.com/camnugent/california-housing-prices
    了解数据集各个维度特征及预测值的含义
  2. 探索数据并预处理数据
    观察数据集各个维度特征及预测值的数值类型与分布
    预处理各维度特征(如将类别型维度ocean_proximity转换为one-hot形式的数值数据),参考:https://blog.csdn.net/SanyHo/article/details/105304292
    划分70%的样本作为训练数据集,30%的样本作为测试数据集
  3. 求解模型参数
    编程实现线性回归模型的闭合形式参数求解
    编程实现线性回归模型的梯度下降参数优化
  4. 测试和评估模型
    在测试数据集上计算所训练模型的R2指标

五、学生实验报告

(1)简要介绍线性回归闭合形式参数求解的原理

首先有
a. 假设函数:
b. 参数:
c. 损失函数:
d. 优化目标:

在这里插入图片描述

m个样本,d维特征。为了计算简便,通常把w,b统一起来,给x增加一列1,b作为w0,有:

对于目标有
在这里插入图片描述

求导得
在这里插入图片描述

令导数为0
在这里插入图片描述

(2)简要介绍线性回归梯度下降参数求解的原理

定义损失函数为在这里插入图片描述

对J(w,b) 计算偏导得

在这里插入图片描述
在这里插入图片描述

参数按照如下进行更新

在这里插入图片描述

最后得到参数theta,最后使用模型进行预测。

(3)程序清单(包含详细求解步骤)

(a)读取数据并查看数据组成
在这里插入图片描述
在这里插入图片描述

从这里可以看到数据有9个feature,8个类型为浮点其中有一个为文本。而对于文本数据,则需要进行OneHot编码。
(b)对文本进行onehot编码
在这里插入图片描述

©删除无效值

在这里插入图片描述

这时候数据的预处理基本已经完成,接下来可以对features和label进行分割。
(d)分割特征和label
在这里插入图片描述

(e)划分训练集和测试集
按照3:7划分训练集和测试集

在这里插入图片描述

(f)训练模型

在这里插入图片描述
在这里插入图片描述

为了达到更好的训练效果,梯度下降的实现需要进行特征归一化。
在这里插入图片描述
通过查看损失函数和迭代次数的曲线,可以得知模型已经接近收敛。
(g)展示分别通过闭合形式参数和梯度下降预测的结果

在这里插入图片描述

(h)通过R2评估模型

根据预测的结果可以得知,使用正规方程的方法比梯度下降的效果更好。
(4)展示实验结果,比较两种求解方式的优劣
**在这次实验中,使用正规方程等方法比梯度下降更佳。**通过实验,总结出两种不同方法的特性。一般,当特征维数比较小时,正规方程计算是一个很好的方法,当特征维数比较多的时候,通常采用梯度下降方法。对复杂的模型来说,求导过程可能相当复杂,只能用梯度下降法不断向最优解处逼近。对于模型而言,往往超过10000维度则可以视为维度高,这时候也可以引入PCA降维等方法。

梯度下降 正规方程
需要多次选择学习率 不需要选择学习率,不用迭代
需要多次迭代 需要计算(XTX)-1
当特征维度很大仍然适用 特征维度大时运行会比较慢

(5)讨论实验结果,分析各个特征与目标预测值的正负相关性
从结果上看,median_income特征与房价正相关,并且影响最大。
在这里插入图片描述
从结果上看,median_income特征与房价正相关,并且影响最大。

猜你喜欢

转载自blog.csdn.net/sinat_41393249/article/details/131014848
今日推荐