ValueError:在sklearn.make_classification中解压缩的值太多

时间:2016-11-28 13:42:52

标签: python scikit-learn

我有一个名为one_dataset.py的文件,其中包含一个生成合成数据集的函数。这是代码:

#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,以便我可以在此处使用创建的数据集并将其拆分为训练和测试数据。文件two_split.py如下所示:< / p>

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,它表示要解压缩的值过多。 此外,当我尝试在data中打印labelsone_dataset.py时,不会显示此类错误。

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

1 个答案:

答案 0 :(得分:1)

尝试将create_dataset功能的回报更改为return data, labels

<强>理由: 您的函数create_dataset在第一次返回后退出,仅返回data。当您在try / catch块中调用该函数时,您需要两个值,即datalabels,但只返回data

希望这有帮助。