本文共 1177 字,大约阅读时间需要 3 分钟。
kears搭建简单的非线性回归,博主用它进行的武汉市疫情确诊、疑似、死亡、治愈人数的预测。
# -*- encoding: utf-8 -*-"""@File : test.py@Time : 2020/5/27 9:26@Author : ligang@WeChat : 18233275213@Software: PyCharm"""from matplotlib import pyplotfrom keras.models import Sequentialfrom keras.layers import Densefrom keras.optimizers import Adam# 训练集# 小技巧:本人实际使用时,y的值高达几万,可以除以一定的系数,将值变小,易于损失收敛# 实际的深度学习模型搭建中也有相对应的操作。y = [.27, .16, .06, .036, .044, .04, .022, .017, .022, .014, .017, .02, .019, .017, .011, .01, .03, .05, .066, .09]x = list(range(len(y)))# 待测集n = 200w = [i/n*len(y) for i in range(n)]# 建模model = Sequential()model.add(Dense(units=10, input_dim=1, activation='sigmoid'))model.add(Dense(units=1, activation='sigmoid'))# 编译、优化model.compile(optimizer=Adam(), loss='mse')for i in range(10): # 训练 model.fit(x, y, epochs=2500, verbose=0) print(i, 'loss', model.evaluate(x, y, verbose=0)) # 预测 z = model.predict(w) # 可视化 pyplot.subplot(2, 5, i + 1) pyplot.xticks(()) pyplot.yticks(()) pyplot.scatter(x, y) # 样本点 pyplot.scatter(w, z, s=2) # 预测线# 保存模型mp = "./logs/iris_model.h5"model.save(mp)# # 加载模型# model = load_model(mp)# # 预测# z = model.predict(w)pyplot.show()
转载地址:http://jbhof.baihongyu.com/