当前位置: 首页 > 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.lryc.cn/news/586390.html

相关文章:

  • 算法练习6-大数乘法(高精度乘法)
  • Linux系统中部署Redis详解
  • (C++)STL:list认识与使用全解析
  • OpenEuler操作系统测试USB摄像头
  • The Black Heart
  • AOSP Settings模块问题初窥
  • day03-链表part1
  • C++类模版1
  • HTTP和HTTPS部分知识点
  • JAVA开发
  • 【数据结构初阶】--顺序表(三)
  • 广东省省考备考(第四十三天7.12)——数量(第四节课)
  • kettle从入门到精通 第101课 ETL之kettle DolphinScheduler调度kettle
  • 亚矩阵云手机:重构物流供应链,让跨境包裹“飞”得更快更准
  • 配置驱动开发:初探零代码构建嵌入式软件配置工具
  • ESP32使用freertos更新lvgl控件内容
  • TDengine 使用最佳实践(1)
  • Cell2location maps fine-grained cell types in spatial transcriptomics 文章解析
  • 全局唯一id生成
  • JavaScript加强篇——第七章 浏览器对象与存储要点
  • 深度学习-卷积化
  • 深入详解:决策树在医学影像领域心脏疾病诊断的应用及实现细节
  • Vue框架之钩子函数详解
  • ngrok使用
  • 企业商业秘密保卫战:经营信息类案件维权全攻略
  • 第三章第三节 GPIO 输入
  • Unity开发中常用的洗牌算法
  • 程序改错---字符串
  • 【离线数仓项目】——电商域DIM层开发实战
  • [特殊字符] 实时数据洪流突围战:Flink+Paimon实现毫秒级分析的架构革命(附压测报告)——日均百亿级数据处理成本降低60%的工业级方案