当前位置: 首页 > news >正文

回归(多项式回归)

例子:回归(多项式回归)

在这里插入图片描述

训练数据:text.csv

x,y
235,591
216,539
148,413
35,310
85,308
204,519
49,325
25,332
173,498
191,498
134,392
99,334
117,385
112,387
162,425
272,659
159,400
159,427
59,319
198,522
import numpy as np
import matplotlib.pyplot as plt#读入训练数据
train = np.loadtxt('text.csv',delimiter=',',skiprows=1)
train_x = train[:,0]
train_y = train[:,1]#展示训练数据
#plt.plot(train_x,train_y,'o')
#plt.show()#标准化数据
mu = train_x.mean()
sigma = train_x.std()
def standardize(x):return (x - mu)/sigmatrain_z = standardize(train_x)
#plt.plot(train_z,train_y,'o')
#plt.show()#均方误差
#在停止重复的条件里用上
def MSE(x,y):return (1/x.shape[0])*np.sum((y-f(x)) ** 2)#生成三个随机数 代表三个参数 theta是参数列表
theta = np.random.rand(3)#均方误差的历史记录
errors = []#创建训练数据的矩阵
#因为训练数据很多 把它们都放在一个矩阵里
#直接和theta相乘
#theta0 + theta1*x1 + theta2*x2
def to_matrix(x):return np.vstack([np.ones(x.shape[0]),x,x**2]).TX = to_matrix(train_z)#预测函数
#theta0 + theta1*x1 + theta2*x2
#dot:矩阵乘法
def f(x):return np.dot(x,theta)#目标函数 error误差 最小二乘法
def E(x,y):return 0.5*np.sum((y-f(x))**2)#learning rate 学习率
ETA = 1e-3#误差的差值
diff = 1;#重复学习
errors.append(MSE(X,train_y))
error = E(X,train_y)
while diff>1e-2:#更新参数theta = theta - ETA*np.dot(f(X)-train_y,X)#计算差值errors.append(MSE(X,train_y))current_error = E(X,train_y)diff = errors[-2] - errors[-1]#不用均方误差的diff#diff = error - current_errorerror = current_error'''
图表拟合展示
x = np.linspace(-3,3,100)
plt.plot(train_z,train_y,'o')
plt.plot(x,f(to_matrix(x)))
plt.show()
'''#绘制误差变化图
x = np.arange(len(errors))
plt.plot(x,errors)
plt.show()

在这里插入图片描述

http://www.dtcms.com/a/275671.html

相关文章:

  • 电商订单数据分析全流程:从数据处理到可视化洞察
  • AI Agents时代,数据分析将彻底被颠覆
  • 数据分析库 Pandas
  • 每日一SQL 【销售分析 III】
  • 【Modern C++ Part10】Prefer-scoped-enum-to-unscoped-enums
  • 开源 python 应用 开发(五)python opencv之目标检测
  • (C++)STL标准库(vector动态数组)(list列表)(set集合)(map键值对)相关对比,基础教程
  • React - createPortal
  • React useState原理解密:从源码到实战
  • Java 泛型 (Generics)
  • bp使用爆破模块破解pikachu的登陆密码
  • 第34次CCF-CSP认证第4题,货物调度
  • 分析与展望
  • 不止于监控:深入剖析OpenTelemetry的可观察性生态体系
  • 使用FastAdmin框架开发
  • 亚矩阵云手机:重构物流供应链,让跨境包裹“飞”得更快更准
  • 【华为OD】MVP争夺战(C++、Java、Python)
  • 聊一聊Spring框架接口测试常见场景有哪些?
  • Python ExcelWriter详解:从基础到高级的完整指南
  • Android 系统Framework如何默认打开ADB连接
  • STP生成树划分实验
  • ms复现永恒之蓝
  • 使用ESM3蛋白质语言模型进行快速大规模结构预测
  • 学习秒杀系统-登录功能(明文密码两次MD5,JSR303参数校验,分布式session)
  • Vue 项目打包部署还存在问题?你知道怎么做吧?
  • 鸿蒙系统防黑秘籍:如何彻底防止恶意应用窃取用户数据?
  • java进阶(一)+学习笔记
  • STM32之LVGL移植
  • 详解缓存淘汰策略:LRU
  • python-enumrate函数