我使用Adaboost构建了一个模型。当我输入一行作为输入时,这是我得到的输出。我期待得到一个数字作为预测
def f(file):
while True:
iter = file.readline()
if iter == "":
break
print iter
global test_file
test_file = test_file = urllib2.urlopen('http://~/file.dat')
如果我说5行作为输入,正如预期的那样,我得到5行预测。
> predict(Model,testset[1,],type="prob")[,2]
[1] 0.5159268 0.5143351 0.5135043 0.5127763 0.5116162 0.5097892 0.5098299 0.5098701
[9] 0.5083176 0.5088486 0.5073487 0.5082424 0.5078101 0.5073640 0.5053638 0.5066038
[17] 0.5063418 0.5055067 0.5060952 0.5051869 0.5050157 0.5038692 0.5040837 0.5052188
[25] 0.5040825 0.5046496 0.5050795 0.5042205 0.4976465 0.5046798 0.5047607 0.4957011
[33] 0.5048601 0.5039299 0.5032739 0.5042044 0.5044005 0.5044902 0.5037352 0.4981865
[41] 0.5021579 0.5038746 0.5043289 0.5032334 0.5051926 0.5021917 0.5015447 0.5029390
[49] 0.4951465 0.5033675
> predict(Model,testset[2,],type="prob")[,2]
[1] 0.5159268 0.5143351 0.5135043 0.5127763 0.5116162 0.5097892 0.5098299 0.5098701
[9] 0.5083176 0.5088486 0.5073487 0.5082424 0.4921899 0.5073640 0.5053638 0.5066038
[17] 0.5063418 0.5055067 0.5060952 0.5051869 0.5050157 0.5038692 0.5040837 0.5052188
[25] 0.5040825 0.5046496 0.5050795 0.5042205 0.5023535 0.4953202 0.5047607 0.5042989
[33] 0.4951399 0.5039299 0.4967261 0.5042044 0.5044005 0.4955098 0.5037352 0.5018135
[41] 0.5021579 0.5038746 0.5043289 0.5032334 0.4948074 0.5021917 0.4984553 0.5029390
[49] 0.4951465 0.5033675
当我只给出一行作为输入时,为什么第一个命令给我50个预测?