2016-05-26 5 views
0

私は理解できないrandom.choiceに問題があります。私は4(http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.random.choice.html)を持つことが許されている関数に3つの引数を渡しますが、私は2と4だけを与えることが許されていると書いています。なぜ私は取得できますか?TypeError:choice()は2つの位置引数を取るが、4つは与えられたか?

def load_data(): 
    dataset = load_boston() 
    num_samples = size(dataset.data, 0) 
    test_set_sz = int(1.0 * num_samples/10) 
    tst_sub_inds = random.choice(range(num_samples), test_set_sz, False) 
    data_test, label_test = dataset.data[tst_sub_inds, :], dataset.target[tst_sub_inds] 
    trn_sub_inds = list(set(range(num_samples)) - set(tst_sub_inds)) 
    data_train, label_train = dataset.data[trn_sub_inds, :], dataset.target[trn_sub_inds] 
    return ((data_train, label_train), (data_test, label_test)) 

エラー:

tst_sub_inds = random.choice(range(num_samples), test_set_sz, False) TypeError: choice() takes 2 positional arguments but 4 were given Blockquote

問題は何ですか?多分古いバージョンのPythonが原因でしょうか?

おかげで、 イーライあなたはコメントで、あなたはPythonのランダムライブラリをインポートimport randomを使用している明らかなように

+7

インポートの仕方を教えてください。私はあなたがPythonのランダムなライブラリを呼び出していると思うし、Numpyのライブラリではないと思う。 – DeepSpace

+0

私はちょうど "インポートランダム" –

+0

私の答えを参照してください.. – DeepSpace

答えて

4

from numpy import randomを使用すると、Numpyのrandom.choiceがインポートされます。

関連する問題