首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么scikit-learn回归器会抛出这个形状错误?

为什么scikit-learn回归器会抛出这个形状错误?
EN

Stack Overflow用户
提问于 2014-01-18 00:02:42
回答 1查看 70关注 0票数 0

我有一个以稀疏矩阵的scipy.sparse格式之一存储的数据矩阵,以及一堆我需要预测的结果。基本上,我想为每个结果拟合一个线性模型。由于数据集非常大(数万),因此我使用SGDRegressor进行此操作。现在,我有了我的特征矩阵:

代码语言:javascript
复制
In [62]: features
Out[62]: 
<77946x72239 sparse matrix of type '<type 'numpy.float64'>'
    with 1084093 stored elements in LInked List format>

我的结果是

代码语言:javascript
复制
In [63]: outcomes
Out[63]: 
<77946x24 sparse matrix of type '<type 'numpy.float64'>'
    with 416487 stored elements in LInked List format>

我的问题是:为了在第一个结果上训练线性模型,为什么我不能像下面这样做(参见错误)?那么正确的方法是什么呢?

代码语言:javascript
复制
In [64]: reg.fit(features, outcomes[:,0])
[...]
ValueError: Shapes of X and y do not match.
EN

回答 1

Stack Overflow用户

发布于 2014-01-18 18:26:50

首先,y不应该是稀疏矩阵。其次,它的形状应该是(n_samples,)而不是(1, n_samples),所以

代码语言:javascript
复制
y = outcomes[:, 0].toarray().ravel()

应该行得通。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21190362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档