当前位置:网站首页>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的使用
边栏推荐
- NTT template for Tourism
- Installation and configuration of sublime Text3
- 新库上线 | 中国记者信息数据
- Marubeni official website applet configuration tutorial is coming (with detailed steps)
- 股票开户免费办理佣金最低的券商,手机上开户安全吗
- 韦东山第三期课程内容概要
- A network composed of three convolution layers completes the image classification task of cifar10 data set
- Service Mesh的基本模式
- Semantic segmentation model base segmentation_ models_ Detailed introduction to pytorch
- Interface test advanced interface script use - apipost (pre / post execution script)
猜你喜欢

玩轉Sonar

Service mesh introduction, istio overview

Cancel the down arrow of the default style of select and set the default word of select

An error is reported during the process of setting up ADG. Rman-03009 ora-03113

51与蓝牙模块通讯,51驱动蓝牙APP点灯

fabulous! How does idea open multiple projects in a single window?

CVE-2022-28346:Django SQL注入漏洞

图像数据预处理

取消select的默认样式的向下箭头和设置select默认字样

第四期SFO销毁,Starfish OS如何对SFO价值赋能?
随机推荐
Cve-2022-28346: Django SQL injection vulnerability
Tapdata 的 2.0 版 ,开源的 Live Data Platform 现已发布
51与蓝牙模块通讯,51驱动蓝牙APP点灯
Langchao Yunxi distributed database tracing (II) -- source code analysis
What if the testing process is not perfect and the development is not active?
"An excellent programmer is worth five ordinary programmers", and the gap lies in these seven key points
【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出
手机上炒股安全么?
They gathered at the 2022 ecug con just for "China's technological power"
1293_FreeRTOS中xTaskResumeAll()接口的实现分析
Su embedded training - day4
Hotel
Reentrantlock fair lock source code Chapter 0
Is it safe to speculate in stocks on mobile phones?
什么是负载均衡?DNS如何实现负载均衡?
A brief history of information by James Gleick
Cause analysis and solution of too laggy page of [test interview questions]
How is it most convenient to open an account for stock speculation? Is it safe to open an account on your mobile phone
AI遮天传 ML-初识决策树
1293_ Implementation analysis of xtask resumeall() interface in FreeRTOS