我有两个变量都来自同一个pandas df.我将一个提取到TT,另一个提取到t.我用TT来预测t,这是二进制的.我无法确定变量被scikit看作具有不兼容形状的原因.我已经将TT转换为修复但是没有用.
>>> TT=adf.x1.values >>> t=adf.y.values >>> TT.shape (2856L,) >>> t.shape (2856L,) >>> TT array([ 4.43081665, 5.99146461, 4.86753464, ..., 4.58496761, 8.4553175 , 7.37775898], dtype=float32) >>> t array([ 0., 0., 0., ..., 0., 0., 0.], dtype=float32) >>> clf=LogisticRegression(C=1) >>> clf.fit(TT,t) Traceback (most recent call last): File "", line 1, in File "C:...\sklearn\svm\base.py", line 686, in fit (X.shape[0], y.shape[0])) ValueError: X and y have incompatible shapes. X has 1 samples, but y has 2856.)
wflynny.. 5
如果您查看文档sklearn.linear_model.LogisticRegression.fit
,
TT
应该有形状(n_samples, n_features)
,和
t
应该有形状(n_samples)
.
您的TT
矢量应该是2D数组.您可以TT
通过执行重塑形状(2856L,1)TT.reshape(-1, 1)
,这至少可以消除错误,但我不确定这是否会产生预期的结果.