python 为什么我会得到:TypeError:choice()接受2个位置参数,但实际给出了4个?

7fyelxc5  于 2023-01-04  发布在  Python
关注(0)|答案(1)|浏览(281)

我有一个问题与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 =随机选择(范围(样本数),测试集sz,假)类型错误:choice()接受2个位置参数,但其中4个被指定为Blockquote
问题是什么?也许是由于旧版本的python?
谢谢伊莱

63lcw9qa

63lcw9qa1#

正如您在注解中澄清的那样,您使用的是import random,它导入Python的随机库。
您应该使用from numpy import random,它将导入您所期望的Numpy的random.choice

相关问题