首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ValueError:此解决程序需要数据中至少两个类的示例,但数据只包含一个类: 1.0

ValueError:此解决程序需要数据中至少两个类的示例,但数据只包含一个类: 1.0
EN

Stack Overflow用户
提问于 2016-07-01 06:00:55
回答 1查看 8.8K关注 0票数 6

我有8670个试验的训练数据集,每个试验有125个时间样本,而我的测试集由578个试验组成。当我将支持向量机算法应用于科学学习中时,取得了很好的效果。

但是,当我应用逻辑回归时,会发生以下错误:

"ValueError:这个解决程序需要数据中至少两个类的样本,但是数据只包含一个类: 1.0“。

我的问题是,为什么支持向量机能够给出预测,而逻辑回归却给出了这个错误?

是否有可能数据集中有问题,或者仅仅是逻辑回归无法分类,因为训练样本看起来与它相似?

EN

回答 1

Stack Overflow用户

发布于 2016-07-29 13:35:05

我在类似的线性模块上阅读了以下问题:https://github.com/lensacom/sparkit-learn/issues/49

“遗憾的是,这确实是个错误。Sparkit并行地训练sklearn的线性模型,然后用简化步骤对它们进行平均化。至少有一个块,其中只有一个标签。要检查以下内容:

代码语言:javascript
复制
train_Z[:, 'y']._rdd.map(lambda x: np.unique(x).size).filter(lambda x: x < 2).count()

要解决这个问题,您可以将火车数据随机化,以避免使用一个标签的块,但这仍在等待一个聪明的解决方案。“

编辑:我找到了一个解决方案,上面分析的错误是正确的。这将是一个解决办法。

为了按照相同的顺序处理数组,我使用了一个scikitlearn utils模块:

代码语言:javascript
复制
from sklearn.utils import shuffle
X_shuf, Y_shuf = shuffle(X_transformed, Y)

然后再使用那些杂乱的数组来训练你的模型,它会工作的!

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

https://stackoverflow.com/questions/38138067

复制
相关文章

相似问题

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