当前位置:网站首页>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的使用
边栏推荐
- "An excellent programmer is worth five ordinary programmers", and the gap lies in these seven key points
- 手机上炒股安全么?
- Binder core API
- Basic types of 100 questions for basic grammar of Niuke
- Reptile practice (VIII): reptile expression pack
- Leetcode brush questions
- CVE-2022-28346:Django SQL注入漏洞
- [note] common combined filter circuit
- 取消select的默认样式的向下箭头和设置select默认字样
- NTT template for Tourism
猜你喜欢
fabulous! How does idea open multiple projects in a single window?
3 years of experience, can't you get 20K for the interview and test post? Such a hole?
取消select的默认样式的向下箭头和设置select默认字样
FOFA-攻防挑战记录
[necessary for R & D personnel] how to make your own dataset and display it.
《因果性Causality》教程,哥本哈根大学Jonas Peters讲授
深潜Kotlin协程(二十二):Flow的处理
Fofa attack and defense challenge record
The standby database has been delayed. Check that the MRP is wait_ for_ Log, apply after restarting MRP_ Log but wait again later_ for_ log
语义分割模型库segmentation_models_pytorch的详细使用介绍
随机推荐
STL--String类的常用功能复写
tourist的NTT模板
ThinkPHP kernel work order system source code commercial open source version multi user + multi customer service + SMS + email notification
【GO记录】从零开始GO语言——用GO语言做一个示波器(一)GO语言基础
C # generics and performance comparison
韦东山第三期课程内容概要
玩轉Sonar
Codeforces Round #804 (Div. 2)(A~D)
How does the markdown editor of CSDN input mathematical formulas--- Latex syntax summary
Lecture 1: the entry node of the link in the linked list
Play sonar
丸子官网小程序配置教程来了(附详细步骤)
Solution to the problem of unserialize3 in the advanced web area of the attack and defense world
Interface test advanced interface script use - apipost (pre / post execution script)
How is it most convenient to open an account for stock speculation? Is it safe to open an account on your mobile phone
Summary of weidongshan phase II course content
12. RNN is applied to handwritten digit recognition
接口测试要测试什么?
Introduction to paddle - using lenet to realize image classification method II in MNIST
fabulous! How does idea open multiple projects in a single window?