import DataPrepare as DP import NN import matplotlib.pyplot as plt import numpy as np import spliner as sp data = DP.LoadData('data.csv') data = sp.SplineData(data, 3) size = 700 confirmed = np.array(DP.GetConfirmed(data, size)) #confirmed = np.array(DP.GetDeath(data, size)) confirmedRate = DP.GetRate(confirmed, size) plt.plot(confirmed[800]) plt.plot(np.array(confirmedRate[800]) * 50) plt.show() confirmedNN = NN.NN(confirmedRate, Units=256) #confirmedNN.load('Deathmodel.300-0.01.h5') confirmedNN.load('model.300-0.03.h5') #confirmedNN.train() confirmedRate = np.array(confirmedRate) ncovdata = DP.LoadData('datancov.csv') ncovdata = sp.SplineData(ncovdata, 1) ncovconfirmed = np.array(DP.GetDeath(ncovdata, size)) ncovRate = np.array(DP.GetRate(ncovconfirmed, size)) validation = np.array([ncovRate[0, :-1]]) result = validation curve = np.array([ncovconfirmed[660, :-1]])[-1]
def SplineData(DiltedData, times=2) -> list: res = [] for i in range(DiltedData.__len__()): conf = GetCF(DiltedData[i]) rec = GetRe(DiltedData[i]) dea = GetDe(DiltedData[i]) datal = conf.__len__() base = np.linspace(0, datal + 1, datal + 2) splc = BSpline(base, conf, times) splr = BSpline(base, rec, times) spld = BSpline(base, dea, times) base2 = np.linspace(1, datal - 1, datal * 10) conf_, rec_, dea_ = splc(base2), splr(base2), spld(base2) ret = [] for j in range(0, conf_.__len__()): x = DP.Data() x.ConfirmedData = conf_[j] x.RecoverData = rec_[j] x.DeathData = dea_[j] x.AreaName = DiltedData[i][0].AreaName ret.append(x) res.append(ret) return res if __name__ == '__main__': data = DP.LoadData('data.csv') data = FiltData(data) Sdata = SplineData(data) print(Sdata[0][1040].RecoverData)