Python非线性回归-武汉疫情确诊、疑似、死亡、治愈人数预测

kears搭建简单的非线性回归,博主用它进行的武汉市疫情确诊、疑似、死亡、治愈人数的预测。

kears非线性回归

# -*- encoding: utf-8 -*-
"""
@File    : test.py
@Time    : 2020/5/27 9:26
@Author  : ligang
@WeChat   : 18233275213
@Software: PyCharm
"""

from matplotlib import pyplot
from keras.models import Sequential
from keras.layers import Dense
from 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 = 200
w = [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()

你可能感兴趣的:(人工智能,tensorflow,神经网络,深度学习,非线性回归,逻辑回归)