建议先看单变量线性回归再看多变量线性回归哦。
参考链接:
(7条消息) 吴恩达|机器学习作业1.1多变量线性回归_学吧学吧终成学霸的博客-CSDN博客
数据集:一共三列,左边两列是自变量x,最右边一列是因变量y。

注意点:要注意特征缩放,否则容易nan
损失函数随迭代次数增加的变化
正则方法与梯度下降方法的截图

import numpy as np
from matplotlib import pyplot as pltdt = np.loadtxt("E:\机器学习\吴恩达\data_sets\ex1data2.txt",delimiter=",")cols = dt.shape[1] #矩阵的列数
m = dt.shape[0] #样本数#首先需要特征缩放
x = dt[:,0:cols-1]
sigma = np.std(x,axis=0)
mean = np.mean(x,axis=0)
x = (x-mean)/sigma
y = dt[:,-1]a = np.ones((m,1))
x = np.concatenate((a,x),1)  #(47, 3)
theta = np.zeros(cols)
x_T = x.T
temp0 = np.linalg.inv(np.dot(x_T,x))
temp1 = np.dot(temp0,x_T)
theta2 = np.dot(temp1,y)
print("正则方法:",theta2)#计算损失函数
def calculateCost(theta,x=x,y=y):inner = np.dot(x,theta.T)-yreturn (np.sum(inner) ** 2) / (2*m)def gradientDescent(x,y,theta,alpha,iterations,features,m):test = np.zeros((1,features))for i in range(iterations):J[i] = calculateCost(theta)theta = theta - (alpha / m) *(x.T @ (x@theta-y))return thetaalpha = 0.03
iterations = 1000
J = np.zeros(iterations)
result = gradientDescent(x,y,theta,alpha,iterations,cols,m)
print("梯度下降方法:",result)plt.plot(J)
plt.xlabel("Iterations")
plt.ylabel("costFunction")plt.show()

吴恩达机器学习python作业之多变量线性回归相关推荐

  1. 吴恩达机器学习个人笔记03——多变量线性回归

    目录 3.1 多维特征 3.2 多变量梯度下降 3.3 梯度下降法实践1-特征缩放 3.4 梯度下降法实践2-学习率 3.5 特征和多项式回归 3.6 正规方程 3.7 正规方程及不可逆性 下节将介绍 ...

  2. 吴恩达机器学习笔记二之多变量线性回归

    本节目录: 多维特征 多变量梯度下降 特征缩放 学习率 正规方程 1.多维特征 含有多个变量的模型,模型中的特征为(x1,x2,-xn), 比如对房价模型增加多个特征 这里,n代表特征的数量, x(i ...

  3. 吴恩达机器学习课后作业——线性回归(Python实现)

    1.写在前面 吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了.所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了. 作业及数据下载网址:吴恩 ...

  4. 6. 吴恩达机器学习课程-作业6-SVM

    fork了别人的项目,自己重新填写,我的代码如下 https://gitee.com/fakerlove/machine-learning/tree/master/code 代码原链接 文章目录 6. ...

  5. 3. 吴恩达机器学习课程-作业3-多分类和神经网络

    fork了别人的项目,自己重新填写,我的代码如下 https://gitee.com/fakerlove/machine-learning/tree/master/code 代码原链接 文章目录 3. ...

  6. 2.吴恩达机器学习课程-作业2-逻辑回归

    fork了别人的项目,自己重新填写,我的代码如下 https://gitee.com/fakerlove/machine-learning/tree/master/code 代码原链接 文章目录 2. ...

  7. 1. 吴恩达机器学习课程-作业1-线性回归

    fork了别人的项目,自己重新填写,我的代码如下 https://gitee.com/fakerlove/machine-learning/tree/master/code 代码原链接 文章目录 1. ...

  8. 8. 吴恩达机器学习课程-作业8-异常检测和推荐系统

    fork了别人的项目,自己重新填写,我的代码如下 https://gitee.com/fakerlove/machine-learning/tree/master/code 代码原链接 文章目录 8. ...

  9. 7. 吴恩达机器学习课程-作业7-Kmeans and PCA

    fork了别人的项目,自己重新填写,我的代码如下 https://gitee.com/fakerlove/machine-learning/tree/master/code 代码原链接 文章目录 7. ...

最新文章

  1. deep_sort_face
  2. SVN 使用方法(228)
  3. Java反射理解与案例
  4. mui.init方法配置
  5. PerlIde in NetBeans7.3 for Debian
  6. web前端好学吗?如何能提高CSS编写技巧 提高Web前端开发效率
  7. 软件工程 speedsnail 第二次冲刺1次
  8. 如何开发一个完整的JavaScript组件
  9. 虚拟麦克风音频输入_收音和录音一次性解决了,这个机顶麦克风可以录音?
  10. Java面向对象编程——类与对象
  11. 关于Windows 10驱动无法使用,无法验证设备所需的驱动程序的数字签名问题
  12. Java语言高级-常用API-第四节 ArrayList集合
  13. 解决eclipse neno在线下载安装缓慢及失败的问题
  14. 【规则】Adblock Plus 广告过滤规则自用整理
  15. c++一元三次方程求解(NOIP2001 提高组)
  16. java数组初始化为 1_Java Class 1.1数组初始化
  17. 【光模块单模和多模的区别及使用】
  18. Python+Vue计算机毕业设计面向轨道交通的智能服务链系统jop1x(源码+程序+LW+部署)
  19. 《人性的弱点》阅读摘抄-1
  20. Java Web(三) 会话机制,Cookie和Session详解

热门文章

  1. 【Windows】之搭建 FTP 服务器
  2. 数据库面试题:Mysql如何进行死锁检测
  3. 献给初学iOS的小盆友们——微博app项目开发之九未读数设置以及后台播放
  4. Vitalik Buterin:反对基尼系数在加密货币中的过度使用
  5. python中列表list和元组tuple
  6. matlab feedforward,matlab神经网络函数feedforwardnet构造的网络数学模型是啥
  7. 谷歌一年狂撒290万美元,邀请程序员来一起找Bug
  8. 小程序地图转百度地图坐标
  9. 相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法
  10. 什么是列式存储和行式存储