当前位置:网站首页>1.线性回归
1.线性回归
2022-07-07 23:11:00 【booze-J】
代码运行平台为jupyter-notebook,文章中的代码块,也是按照jupyter-notebook中的划分顺序进行书写的,运行文章代码,直接分单元粘入到jupyter-notebook即可。
1.导入第三方库
import keras
import numpy as np
import matplotlib.pyplot as plt
# Sequential 按顺序构成的模型
from keras.models import Sequential
# Dense 全连接层
from keras.layers import Dense
2.随机生成数据集
# 使用numpy生成100个随机点
x_data = np.random.rand(100)
# 噪音的形状和x_data的形状是一样的
noise = np.random.normal(0,0.01,x_data.shape)
# 设置w=0.1 b=0.2
y_data = x_data*0.1+0.2+noise
# y_data_no_noisy = x_data*0.1+0.2
# 显示随机点
plt.scatter(x_data,y_data)
# plt.scatter(x_data,y_data_no_noisy)
运行效果:
这是添加噪声的情况下y_data = x_data*0.1+0.2+noise
:
不添加噪声的情况下y_data_no_noisy = x_data*0.1+0.2
(w=0.1,b=0.2):
线性回归就是要根据添加噪声的散点图,拟合出一条与不添加噪声的散点图近似的直线。
3.线性回归
# 构建一个顺序模型
model = Sequential()
# 在模型中添加一个全连接层 在jupyter-notebook中,按shift+tab可以显示参数
model.add(Dense(units=1,input_dim=1))
# sgd:Stochastic gradient descent , 随机梯度下降法
# mse:Mean Squared Error , 均方误差
model.compile(optimizer='sgd',loss='mse')
# 训练3001个批次
for step in range(3001):
# 每次训练一个批次 的损失
cost = model.train_on_batch(x_data,y_data)
# 每500个batch打印一次cost
if step%500==0:
print("cost:",cost)
# 打印权值和批次值
W,b = model.layers[0].get_weights()
print("W:",W)
print("b:",b)
# x_data输入网络中得到预测值
y_pred = model.predict(x_data)
# 显示随机点
plt.scatter(x_data,y_data)
# 显示预测结果
plt.plot(x_data,y_pred,"r-",lw=3)
plt.show()
运行效果:
可以看到预测出来的w和b都十分接近我们设置的w和b。
注意
- 在jupyter-notebook中,按shift+tab可以显示参数
- train_on_batch的使用
- compile的使用
边栏推荐
- A network composed of three convolution layers completes the image classification task of cifar10 data set
- Su embedded training - Day3
- 5g NR system messages
- letcode43:字符串相乘
- Codeforces Round #804 (Div. 2)(A~D)
- Leetcode brush questions
- 【obs】Impossible to find entrance point CreateDirect3D11DeviceFromDXGIDevice
- Jemter distributed
- What is load balancing? How does DNS achieve load balancing?
- AI遮天传 ML-回归分析入门
猜你喜欢
9.卷积神经网络介绍
接口测试进阶接口脚本使用—apipost(预/后执行脚本)
Invalid V-for traversal element style
SDNU_ ACM_ ICPC_ 2022_ Summer_ Practice(1~2)
What if the testing process is not perfect and the development is not active?
取消select的默认样式的向下箭头和设置select默认字样
Binder core API
[note] common combined filter circuit
A network composed of three convolution layers completes the image classification task of cifar10 data set
Class head up rate detection based on face recognition
随机推荐
取消select的默认样式的向下箭头和设置select默认字样
基于微信小程序开发的我最在行的小游戏
Qt不同类之间建立信号槽,并传递参数
[Yugong series] go teaching course 006 in July 2022 - automatic derivation of types and input and output
5G NR 系统消息
ReentrantLock 公平锁源码 第0篇
服务器防御DDOS的方法,杭州高防IP段103.219.39.x
Lecture 1: the entry node of the link in the linked list
5.过拟合,dropout,正则化
Experience of autumn recruitment in 22 years
ABAP ALV LVC模板
华泰证券官方网站开户安全吗?
Introduction to paddle - using lenet to realize image classification method II in MNIST
A brief history of information by James Gleick
玩轉Sonar
5g NR system messages
[reprint] solve the problem that CONDA installs pytorch too slowly
1293_FreeRTOS中xTaskResumeAll()接口的实现分析
新库上线 | CnOpenData中华老字号企业名录
Implementation of adjacency table of SQLite database storage directory structure 2-construction of directory tree