【问题标题】:ValueError: too many values to unpack in sklearn.make_classificationValueError:在 sklearn.make_classification 中解压的值太多
【发布时间】:2017-04-12 06:15:28
【问题描述】:

我有一个名为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 如下所示:

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 时,不会显示此类错误。

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

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-20
      • 2015-09-04
      • 2017-11-25
      • 2018-10-30
      • 2015-12-20
      • 2016-02-02
      • 1970-01-01
      相关资源
      最近更新 更多