-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