错误结果错误和负面预测

时间:2020-07-31 14:24:54

标签: python google-colaboratory

我有一个训练有素的神经网络,当我测试验证数据集时,产生的错误最少。但是,当我使用坚持数据集时,我遇到了一个很大的错误,有时我的预测是负面的。我在一个单独的程序中测试了保持数据集,所以我本来以为我只是编写了一些错误的代码。但是,如果我在该程序中仍能获得良好的结果,如果我读取验证数据集而不是保留数据,则使我知道保留数据集是问题所在...

保留和验证数据集之间的区别在于,保留文件用浮点数(spectra-36.2)编号,并且验证数据集用int数(spectra-36)编号。因此,我认为这段代码在浮动中的读取方式出了问题。我知道每个文件中的数据都没有问题,因为我已经看到其他人获得了接近完美的结果。

model = load_model('my_model')
model.summary()

def combinefilesonetemperature(temperature):
  spectrum_filestring="/content/drive/My Drive/Super_Official_C140_Interpolated_Data 
  /Holdout_Data/TCSPC-" + str(temperature) + "C.csv"
  spectrum_y_vals = pd.read_csv(spectrum_filestring, header=None).values.T[2]

  TCSPC_filestring="/content/drive/My Drive/Super_Official_C140_Interpolated_Data 
  /Holdout_Data/spectra-" + str(temperature) + "C.csv"
  TCSPC_y_vals = pd.read_csv(TCSPC_filestring, header=None).values.T[2] 

  combinedlist = np.concatenate((spectrum_y_vals, TCSPC_y_vals))
  return(combinedlist)

temperaturelist = [36.2, 38.7, 42.4, 48.7, 52.5, 58.6, 60.6] #, 36.2, 38.7, 42.4, 48.7, 52.5, 58.6, 
60.6]
temperaturelist = [float(item) for item in temperaturelist]

numtemps = np.asarray(temperaturelist).size
X=np.empty((numtemps, 5952)) 
X = np.array(X)

Y = np.empty(numtemps)
Y = np.array(Y)
for (i, temperature) in enumerate(temperaturelist): 
   X[i] = np.array(combinefilesonetemperature(temperature))
   Y[i] = temperature

X=np.stack(X)
score = model.evaluate(X, Y, verbose=0) 
print("Holdout Set Results: " + str(score)) 

holdoutResults=[None]*7
holdoutResults=np.array(holdoutResults) 

i=0
while i<7: 
  X_test=X[i]
  y_real=Y[i]
  y_guess= model.predict(np.array([X_test]))
  y_guess=y_guess.flatten() 
  pair=[y_real,y_guess[0]]
  holdoutResults[i]=pair
  i+=1
holdoutResults=np.stack(holdoutResults)
print(holdoutResults)

0 个答案:

没有答案