返回信息流各位,问一下,训练数据的输入顺序会影响LR模型的结果吗?、
我用python的sklearn自带的逻辑回归测试,训练运用全量数据,相同的测试数据,发现输入顺序会影响LR模型的结果。每次运行结果都不一样,代码如下:
#data为文件读入的ndarray,1100行的数据。
split_row1=900
test_data_X=data[split_row1:-1,0:-1].copy()
test_data_Y=data[split_row1:-1,-1].copy()
np.random.shuffle(data)
train_data_X=data[:,0:-1]
train_data_Y=data[:,-1]
#模型训练
LR=LogisticRegression()
LR.fit(train_data_X,train_data_Y)
predict_data_Y=LR.predict(test_data_X)
overall_accuracy = metrics.accuracy_score(test_data_Y, predict_data_Y)
print("overall_accuracy:",overall_accuracy,"\n")
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #26527同步于 2017/10/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
求问:训练数据的输入顺序会影响LR模型的结果?
mjzrytl
2017/10/24镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
因为lr一般使用sgd训练,sgd训练势必使用batch,经过shuffle后,改变数据顺序batch中的数据不同肯定会影响梯度以及权重的更新,导致结果出现不同。
明白了,多谢~
【 在 t2396156 的大作中提到: 】
: 因为lr一般使用sgd训练,sgd训练势必使用batch,经过shuffle后,改变数据顺序batch中的数据不同肯定会影响梯度以及权重的更新,导致结果出现不同。