-1
我在Python中編寫了這段代碼,有些東西讓我發瘋。當我把功能放在同一個代碼時,給我不同的結果!這怎麼可能?這是一個功能相同的Python代碼,不同的性能
def iterateTesting(k):
Accuracy = []
for t in range(0,10):
train_data,test_data = shuffleAndSplit(data)
acurracy = test(train_data,test_data,k)
Accuracy.append(acurracy)
print ('{0:.2f}% , {1:.2f}').format(np.mean(Accuracy),np.std(Accuracy))
data = getData("d.data")
train_data,test_data = shuffleAndSplit(data)
Accuracy = []
for t in range(0,10):
train_data,test_data = shuffleAndSplit(data)
acurracy = test(train_data,test_data,1)
Accuracy.append(acurracy)
print ('{0:.2f}% , {1:.2f}').format(np.mean(Accuracy),np.std(Accuracy))
iterateTesting(1)
我從功能上得到大約55%和65%來自主每次我運行代碼的主要和相同的代碼。我正在調用相同的函數並使用相同的數據。如果有人澄清,我將非常感激。由於
爲什麼有** 3 **'train_data,TEST_DATA = shuffleAndSplit(數據)'行,如果你重複的代碼**兩次**? –
嘗試在主體中重複整個循環(而不是一次在main中,一次在函數中)並查看是否得到類似的結果。 –
你在設置'shuffleAndSplit'的種子嗎? – ayhan