2016-11-28 9 views
1

one_dataset.pyというファイルがあり、これには合成データセットを生成する関数が含まれています。これは、コードです:私は、ここで作成したデータセットを使用できるようにtwo_split.pyと呼ばれる研修に分割し、data.Theファイルtwo_split.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をインポートしています:

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をキャッチします。 また、datalabelsone_dataset.pyに印刷しようとすると、そのようなエラーは表示されません。

なぜこれが起こっているのか、それを修正する方法を知りたいと思います。 ありがとうございます。

答えて

1

create_dataset機能の返品をreturn data, labelsに変更してください。

理由:create_dataset終了最初の復帰後 あなたの機能だけdataを返します。 try/catchブロックで関数を呼び出すと、datalabelsの2つの値が必要ですが、dataだけが返されます。

これが役に立ちます。

関連する問題