Why Do I get: TypeError: choice() takes 2 positional arguments but 4 were given?
Why Do I get: TypeError: choice() takes 2 positional arguments but 4 were given?
我对 random.choice 有疑问,我无法理解。我将 3 个参数传递给允许有 4 个 (http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.random.choice.html) 的函数,但它写道我只允许给出 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 的旧版本?
谢谢,
伊莱
正如您在评论中阐明的那样,您正在使用 import random
导入 Python 的随机库。
您应该使用 from numpy import random
,它将导入 Numpy 的 random.choice
,这是您所期望的。
我对 random.choice 有疑问,我无法理解。我将 3 个参数传递给允许有 4 个 (http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.random.choice.html) 的函数,但它写道我只允许给出 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 的旧版本?
谢谢, 伊莱
正如您在评论中阐明的那样,您正在使用 import random
导入 Python 的随机库。
您应该使用 from numpy import random
,它将导入 Numpy 的 random.choice
,这是您所期望的。