简单的单向量输入数组被scikit看作是不兼容的

 mobiledu2502903717 发布于 2023-01-31 14:52

我有两个变量都来自同一个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),这至少可以消除错误,但我不确定这是否会产生预期的结果.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有