我有一个名为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
中打印labels
和one_dataset.py
时,不会显示此类错误。
我想知道为什么必须发生这种情况以及如何解决这个问题。 谢谢。
答案 0 :(得分:1)
尝试将create_dataset
功能的回报更改为return data, labels
。
<强>理由:强>
您的函数create_dataset
在第一次返回后退出,仅返回data
。当您在try / catch块中调用该函数时,您需要两个值,即data
和labels
,但只返回data
。
希望这有帮助。