我使用OLS(多元线性回归)计算了模型。我将我的数据分为训练和测试(各一半),然后我想预测下半部分标签的价值。使用具有统计模型的OLS模型预测值
model = OLS(labels[:half], data[:half])
predictions = model.predict(data[half:])
的问题是,我得到的和错误: 文件“/usr/local/lib/python2.7/dist-packages/statsmodels-0.5.0-py2.7-linux-i686.egg/ statsmodels /回归/ linear_model.py”,线路281,在预测 返回np.dot(exog,则params) ValueError异常:矩阵不对准
我有以下阵列形状: data.shape:(426, 215) labels.shape:(426,)
如果我将输入转置为model.predict,我会得到结果但随着(426213)的形状,所以我想它的错误,以及(我希望213号的一个向量作为标签的预测):
model.predict(data[half:].T)
不知道如何得到它的工作?
虽然这是关于模型拟合和数据拆分的BIG WARNING问题的正确答案。您应该使用80%的数据(或更大的部分)进行培训/测试,20%(其余)用于测试/预测。将数据拆分为50:50就像Schrodingers猫。我们不相信我们的数据都是好的或全部错误的。 因此,对模型的信心处于中间的某个位置。我们希望对我们的模型有更好的信心,因此我们应该训练更多的数据然后进行测试。 – lukassos