2016-11-28 33 views
1

我有一个名为one_dataset.py的文件,其中包含一个用于生成合成数据集的函数。这是代码:ValueError:要在sklearn.make_classification中解压的值太多

#Generating synthetic datasets 
from sklearn import datasets 

def create_dataset(): 
    data, labels = datasets.make_classification(n_samples=200,n_features=4,n_classes=2,flip_y=0.01,shuffle=True) 
    return data 
    return labels 

if __name__ == "__main__": 
    create_dataset() 

我进口one_dataset.py名为two_split.py另一个文件,这样我可以在这里使用创建的数据集,并将其分割为训练和测试data.The文件two_split.py看起来是这样的:

import one_dataset 
import sklearn 

try: 
    data, labels = one_dataset.create_dataset() 
    print data 
    print labels 

except ValueError: 
    print "Oops! Too many values to unpack! Lighten up, please!" 

它捕获值太多的ValueError解压缩。 另外,当我尝试在one_dataset.py中打印datalabels时,没有显示此类错误。

我想知道为什么会发生这种情况,以及如何解决这个问题。 谢谢。

回答

1

尝试将您的create_dataset函数中的返回更改为return data, labels

理由: 你的第一回后create_dataset退出功能,只返回data。当您在try/catch块中调用函数时,您期待有两个值,即datalabels,但只返回data

希望这会有所帮助。

相关问题