莫烦keras学习自修第三天【回归问题】
1. 代码实战
#!/usr/bin/env python
#!_*_ coding:UTF-8 _*_
import numpy as np
# 这句话不知道是什么意思
np.random.seed(1337)
from keras.models import Sequential
from keras.layers import Dense
import matplotlib.pyplot as plt
# 创建一些训练数据
# 生成-1 到 1 之间的float64的200个数的列表
X = np.linspace(-1, 1, 200)
# 打乱列表为无序状态
np.random.shuffle(X)
# 根据X的数据生成Y,并且系数为0.5, 偏置为0到0.05
Y = 0.5 * X + 2 + np.random.normal(0, 0.05, (200, ))
# 使用plt工具画图
plt.scatter(X, Y)
plt.show()
# 将生成的前面160条数据作为训练数据
X_train, Y_train = X[:160], Y[:160]
# 将生成的后面40条数据作为测试数据
X_test, Y_test = X[160:], Y[160:]
# 创建一个训练模型
model = Sequential()
# 为训练模型添加隐藏层
model.add(Dense(units=1, input_dim=1))
# 为训练模型进行编译,使用均方误差损失函数
model.compile(loss='mse', optimizer='sgd')
# 开始进行训练,
for step in range(301):
# 该训练函数每次训练均返回cost损失
cost = model.train_on_batch(X_train, Y_train)
if step % 100 == 0:
print('train cost: ', cost)
# 测试训练过的模型
# 该批量测试函数返回损失值
cost = model.evaluate(X_test, Y_test, batch_size=40)
print('test cost:', cost)
# 打印W和b这些参数
W, b = model.layers[0].get_weights()
print('Weights=', W, '\nbiases=', b)
# 打印测试值和预测值
Y_pred = model.predict(X_test)
# 使用散点图绘制测试值
plt.scatter(X_test, Y_test)
# 使用直线图绘制预测值
plt.plot(X_test, Y_pred)
plt.show()
结果:
/Users/liudaoqiang/PycharmProjects/numpy/venv/bin/python /Users/liudaoqiang/Project/python_project/keras_day02/regressor.py
Using Theano backend.
('train cost: ', array(4.190890312194824, dtype=float32))
('train cost: ', array(0.10415506362915039, dtype=float32))
('train cost: ', array(0.011512807570397854, dtype=float32))
('train cost: ', array(0.004584408365190029, dtype=float32))
40/40 [==============================] - 0s 5us/step
('test cost:', 0.0053740302100777626)
('Weights=', array([[ 0.56634265]], dtype=float32), '\nbiases=', array([ 2.00106311], dtype=float32))
Process finished with exit code 0

莫烦keras学习自修第三天【回归问题】的更多相关文章
- 莫烦keras学习自修第五天【CNN卷积神经网络】
1.代码实战 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ import numpy as np np.random.seed(1337) # for r ...
- 莫烦keras学习自修第四天【分类问题】
1.代码实战 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ # 导入numpy import numpy as np np.random.seed(133 ...
- 莫烦keras学习自修第二天【backend配置】
keras的backend包括tensorflow和theano,tensorflow只能在macos和linux上运行,theano可以在windows,macos及linux上运行 1. 使用配置 ...
- 莫烦keras学习自修第一天【keras的安装】
1. 安装步骤 (1)确保已经安装了python2或者python3 (2)安装numpy,python2使用pip2 install numpy, python3则使用pip3 install nu ...
- 莫烦scikit-learn学习自修第三天【通用训练模型】
1. 代码实战 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ import numpy as np from sklearn import datasets ...
- 莫烦theano学习自修第三天【共享变量】
1. 代码实现 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ import numpy as np import theano.tensor as T i ...
- 莫烦scikit-learn学习自修第四天【内置训练数据集】
1. 代码实战 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ from sklearn import datasets from sklearn.linea ...
- 莫烦scikit-learn学习自修第一天【scikit-learn安装】
1. 机器学习的分类 (1)有监督学习(包括分类和回归) (2)无监督学习(包括聚类) (3)强化学习 2. 安装 (1)安装python (2)安装numpy >=1.6.1 (3)安装sci ...
- 莫烦theano学习自修第九天【过拟合问题与正规化】
如下图所示(回归的过拟合问题):如果机器学习得到的回归为下图中的直线则是比较好的结果,但是如果进一步控制减少误差,导致机器学习到了下图中的曲线,则100%正确的学习了训练数据,看似较好,但是如果换成另 ...
随机推荐
- 【js】横/纵向无缝滚动
1.纵向无缝滚动(类似淘宝) ps:存在一个问题,当鼠标移入时,未关闭定时器 <!DOCTYPE html> <html> <head> <meta char ...
- 二.css介绍
一.三种引入样式1.内嵌样式:写在html中 style标签里面2.行内样式:写在具体的标签的style属性3.引入外部样式表:可以将样式规则写在外部文件,再引入到html中 <link typ ...
- Go web编程学习笔记——未完待续
1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...
- Linux 使用nexus搭建maven私服
系统:LINUX JDK:已安装 Maven:已安装 Nexus Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维 ...
- 使用TTS实现Oracle跨版本迁移
TTS实现数据库迁移,具有速度快.支持跨平台和跨版本等优点.本文记录了用TTS从10g single迁移到11g RAC的过程. Source数据库版本和字符集设置: SQL> select * ...
- P1440 求m区间内的最小值--洛谷luogu
题目描述 一个含有n项的数列(n<=2000000),求出每一项前的m个数到它这个区间内的最小值.若前面的数不足m项则从第1个数开始,若前面没有数则输出0. 输入输出格式 输入格式: 第一行两个 ...
- 解决git commit 大文件推送失败
//查找大文件 git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5 //根据上面查找到的hash值,筛选文 ...
- HTML5学习总结-番外05 http 状态码
所有状态码汇总: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其 ...
- 【转】【强化学习】Deep Q Network(DQN)算法详解
原文地址:https://blog.csdn.net/qq_30615903/article/details/80744083 DQN(Deep Q-Learning)是将深度学习deeplearni ...
- SpringBoot分布式 - SpringCloud
一:介绍 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布 ...