吴恩达《机器学习》2022版 第一周 一元线性回归 房价预测简单实现

import numpy as np
import math, copy#输入数据
x_train = np.array([1.0, 2.0])
y_train = np.array([300.0, 500.0])#代价函数
def compute_cost(x, y, w, b): m = x.shape[0] cost_sum = 0 for i in range(m): f_wb = w * x[i] + b   cost = (f_wb - y[i]) ** 2  cost_sum = cost_sum + cost  total_cost = (1 / (2 * m)) * cost_sum  return total_cost#求偏导
def compute_gradient(x, y, w, b): m = x.shape[0]    dj_dw = 0dj_db = 0for i in range(m):  f_wb = w * x[i] + b dj_dw_i = (f_wb - y[i]) * x[i] dj_db_i = f_wb - y[i] dj_db += dj_db_idj_dw += dj_dw_i dj_dw = dj_dw / m dj_db = dj_db / m return dj_dw, dj_db#梯度下降
def gradient_descent(x, y, w_in, b_in, alpha, num_iters, cost_function, gradient_function): w = copy.deepcopy(w_in) # avoid modifying global w_in# An array to store cost J and w's at each iteration primarily for graphing laterJ_history = []p_history = []b = b_inw = w_infor i in range(num_iters):# Calculate the gradient and update the parameters using gradient_functiondj_dw, dj_db = gradient_function(x, y, w , b)     # Update Parameters using equation (3) aboveb = b - alpha * dj_db                            w = w - alpha * dj_dw                            # Save cost J at each iterationif i<100000:      # prevent resource exhaustion J_history.append( cost_function(x, y, w , b))p_history.append([w,b])# Print cost every at intervals 10 times or as many iterations if < 10if i% math.ceil(num_iters/10) == 0:print(f"Iteration {i:4}: Cost {J_history[-1]:0.2e} ",f"dj_dw: {dj_dw: 0.3e}, dj_db: {dj_db: 0.3e}  ",f"w: {w: 0.3e}, b:{b: 0.5e}")return w, b, J_history, p_history #return w and J,w history for graphing#迭代寻找最优解
# initialize parameters
w_init = 0
b_init = 0
# some gradient descent settings
iterations = 10000
tmp_alpha = 1.0e-2
# run gradient descent
w_final, b_final, J_hist, p_hist = gradient_descent(x_train ,y_train, w_init, b_init, tmp_alpha, iterations, compute_cost, compute_gradient)
print(f"(w,b) found by gradient descent: ({w_final:8.4f},{b_final:8.4f})")#预测
print(f"1000 sqft house prediction {w_final*1.0 + b_final:0.1f} Thousand dollars")
print(f"1200 sqft house prediction {w_final*1.2 + b_final:0.1f} Thousand dollars")
print(f"2000 sqft house prediction {w_final*2.0 + b_final:0.1f} Thousand dollars")

吴恩达-机器学习-一元线性回归模型实现相关推荐

  1. 吴恩达-机器学习-多元线性回归模型代码

    吴恩达<机器学习>2022版 第一节第二周 多元线性回归 房价预测简单实现         以下以下共两个实验,都是通过调用sklearn函数,分别实现了 一元线性回归和多元线性回归的房价 ...

  2. 吴恩达机器学习 -- 多变量线性回归

    5.1 多维特征 前一周所讲是单变量线性回归,即 ,是只有一个变量 的假设函数,现在对房价预测模型有了更多的参考特征,比如楼层数,卧室的数量,还有房子的使用年限.根据这些特征来预测房价.此时的变量有多 ...

  3. 【学习笔记】吴恩达机器学习 WEEK2 线性回归 Octave教程

    Multivariate Linear Regression Multiple Features Xj(i)X_j^{(i)}Xj(i)​ 其中j表示迭代次数,i表示矩阵索引 转换 原来:hθ(x)= ...

  4. 吴恩达机器学习6:模型描述

    一.简介:案例仍然是房价预测的例子,监督学习:每个例子都有一个"正确的"答案 1.m表示训练样本的个数 2.(x,y)表示一个训练样本 3.x(i),y(i),这里i这个上标,不是 ...

  5. 吴恩达机器学习1——单变量线性回归、梯度下降

    目录 吴恩达机器学习第一周 一.什么是机器学习? 二.机器学习的分类 1. 监督学习 2. 非监督学习 3. 监督学习和非监督学习的举例 三.单变量线性回归(**Linear Regression w ...

  6. 吴恩达机器学习中文版课后题(中文题目+数据集+python版答案)week1 线性回归

    一.单线性回归问题 参考:https://blog.csdn.net/qq_42333474/article/details/119100860 题目一: 您将使用一元线性回归来预测食品车的利润.假设 ...

  7. 【吴恩达机器学习】第二周课程精简笔记——多元线性回归和计算参数分析

    1. Multivariate Linear Regerssion(多元线性回归) (1)Multiple Feature We now introduce notation for equation ...

  8. 吴恩达机器学习课后作业1——单变量线性回归(Linear regression with one variable)

    1. 问题和数据 假设你是一家连锁餐车店的老板,但是你又和别的土老板不一样,你又刚好是个懂线性回归,还懂编程的老板,正在考虑在不同的城市开一家新店.该连锁店已经在各个城市开设了餐车,你可以获得这些城市 ...

  9. 吴恩达机器学习--单变量线性回归【学习笔记】

    说明:本文是本人用于记录学习吴恩达机器学习的学习笔记,如有不对之处请多多包涵. 作者:爱做梦的90后 一.模型的描述: 下面的这张图片是对于课程中一些符号的基本的定义: 吴老师列举的最简单的单变量线性 ...

最新文章

  1. android 模糊查询搜索框_彻底搞懂 iOS 和 Android 的设计差异
  2. c++ 获取线程id_5分钟带你完全理解什么是线程
  3. 正则控制可以输两位小数、负数,整数
  4. html5中音频、视频标签、自定义播放器常用属性及方法、全屏操作、新增属性兼容问题
  5. 计算机课作业在线管理,iwork学生作业在线系统
  6. 面向数据科学家的 Docker 最佳实践
  7. 卷积神经网络图像识别_[源码和文档分享]基于CUDA的卷积神经网络算法实现
  8. iOS 解决报错 dyld: Library not loaded: @rpath/xxx.framework Reason: image not found
  9. 大数据Spark技术数据分析综合实验:出租车数据分析
  10. win7下安装vc6.0(sp5,sp6补丁安装)
  11. 如何将Matlab中命令窗口中的数据保存到一个文档中
  12. office 快捷键
  13. STC89C52引脚图
  14. 使用gihub搭建个人博客
  15. java计算机毕业设计高校防疫物资管理系统MyBatis+系统+LW文档+源码+调试部署
  16. python循环计算水仙花数_我想用python编个小程序,循环计算用户给处的任意两个整数之间的水仙花数。...
  17. C简单动态规划——爬数塔
  18. 自动客服功能的微信小程序
  19. [转载]LFSR的工作原理以及LFSR在CRC上的应用
  20. TI公司Tina-ti和FilterProDesktop下载地址

热门文章

  1. 自媒体如何快速写文章 学会这5步,产出超快
  2. 二次元界福音:MakeGirlsMoe创建动漫人物
  3. 数字英文唯一_day day up和天天向上不近似?英文商标怎样判断近似
  4. 简单易学的强肾健体保健法
  5. 在线课堂系统 java_课堂管理系统;在线教辅平台;java课设
  6. php mysql 免费_国内最常用的PHP+MySql免费CMS系统大全
  7. struts2 action方法上加 @Token
  8. WakeData惟客数据如何赋能房企数字化经营?
  9. 北大计算机系保研高校生源质量排名,2021年中国大学保研率排名出炉,西交进入前十,西工大超华科...
  10. 随机过程及其在金融领域中的应用 第四章 习题 及 答案