我用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%。我调用相同的函数并使用相同的数据。如果有人澄清,我将非常感激。感谢
答案 0 :(得分:0)
通过在我的函数中定义训练和测试数据作为全局变量来解决问题