莫烦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%正确的学习了训练数据,看似较好,但是如果换成另 ...
随机推荐
- sku回忆笔记
分类表:(商品分类编号, 分类名称, 父分类编号)(1, 男装, 0)(2, 裤子, 1)(3, 外套, 1)(4, 内裤, 1)(5, 袜子, 1) 商品表:(商品编号, 商品名称, 商品分类编号, ...
- Python:Day18 os模块、logging模块、正则表达式
迭代器 满足迭代器协议: 1.内部有next方法 2.内部有iter()方法 os模块 import os print(os.getcwd()) #C:\Users\Lowry\PycharmProj ...
- 随机产生1-12的整数 , 根据产生整数输出一下该月份的季节信息(Math.random()和if语句的应用)
package com.summer.cn; /** * @author Summer *随机产生1-12的整数 , 根据产生整数输出一下该月份的季节信息 */ public class Test04 ...
- nginx + tomcat = http && https
Tomcat版块配置: vim /to/path/conf/server.xml <Server port="" shutdown="SHUTDOWN"& ...
- Pyhton2.x 和Python3.x
一. 异常处理和pint区别 try: ...except Exception,e: # 2.x,3.x 需要把逗号(,)变为as. print e.message # 2.x,3.需要吧print内 ...
- C之attribute用法
GNU C 的一大特色就是__attribute__ 机制.__attribute__ 可以设置函数属性(Function Attribute ).变量属性(Variable Attribute )和 ...
- java 变量 final 小结
通过查看hashCode发现,变量声明final后,不能修改,上级修改时候,重新获得对象hashCode变化 public static void main(String[] args) { // T ...
- Luogu P5168 xtq玩魔塔
这题不错啊,结合了一些不太传统的姿势. 首先看到题目有一问从一个点到另一个点边权最小值.想到了什么? 克鲁斯卡尔生成树+倍增?好吧其实有一个更常用NB的算法叫克鲁斯卡尔重构树 (不会的可以看dalao ...
- echarts 实时获取数据
html: <div id="realTimeInvoke" class="chart" style="height: 400px;" ...
- python中join()函数的使用方法
函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字 ...