2017-02-24 77 views
1

现在我正在阅读大量(大约100万行)的训练数据(标签:0或1)从txt文件中练习机器学习scikit-学习:如下数据的数据:Python3:ValueError:太多的值来解压缩(预计2)

label  data 
0  xd,xw,gh 
1  xg,xh,xl,xk,yh,xd 

.................................. ....

但有错误后,我跑我的代码:

Traceback (most recent call last): 
    X, y = get_minibatch(train_text, train_label, chunksize=1000) 
ValueError: too many values to unpack (expected 2 

请给我你大约T t建议他的问题! 感谢您的时间和考虑!

回答

2

get_minibatch(train_x, train_y, chunksize)正在使用良率使其成为生成器/迭代器

你叫它像一个函数,期待两个参数和解压缩它们。

但是你没有得到两个元素,你调用后获得了一个生成器/迭代器对象。 (在这种情况下:总是打印出print(type(function()))当然这个单一对象不能被解压成两个

您需要使用它像一个发电机/迭代器,例如,在python3:。

X, y = next(get_minibatch(train_text, train_label, chunksize=1000)) 
+0

感谢@ sascha,在我添加下一个(get_minibach .....)之后,代码仍然有错误:raise ValueError(“类应该包含所有可以有效的标签” ValueError:类应该包含可以在y中的所有有效标签 – tktktk0711

+0

这是一些**新的不相关的问题**。基本问题是,由于您的钳工不知道他们,所以存在未知的标签。请阅读[本文](http://scikit-learn.org/stable/modules/scaling_strategies。 HTML#增量学习) 。摘录:'''为了分类,有一点需要注意的是,尽管无状态特征提取例程可能能够处理新的/看不见的属性,但增量式学习者本身可能无法应付新的/看不见的目标类别。在这种情况下,您必须使用classes =参数将所有可能的类传递给第一个partial_fit调用.''' – sascha

+0

感谢@sascha您的宝贵意见。我很抱歉,我仍然不知道如何处理它。 – tktktk0711

相关问题