replace = options.pop('replace',True)在这段代码中完成了什么?

时间:2016-09-16 23:58:00

标签: python scikit-learn

查看sklearn库中的一些源代码:

https://github.com/scikit-learn/scikit-learn/blob/277b058713f64f55e787aac55fe0e1bbbd47576f/sklearn/utils/init.py#L186

部分代码,删除评论:

def check_random_state(seed):
    if seed is None or seed is np.random:
        return np.random.mtrand._rand
    if isinstance(seed, (numbers.Integral, np.integer)):
        return np.random.RandomState(seed)
    if isinstance(seed, np.random.RandomState):
        return seed
    raise ValueError('%r cannot be used to seed a numpy.random.RandomState' ' instace' % seed)

def resample(*arrays, **options):
    random_state = check_random_state(options.pop('random_state', None))
    replace = options.pop('replace', True)
    # lots more code below ...

特别是:replace = options.pop('replace', True)random_state = check_random_state(options.pop('random_state', None))如何使用options.pop('object_that_is_being_created', some_value)?它的目的是什么?它有什么作用?

我知道options将是一个字典,arrays将是一个元组,但我不确定代码究竟是什么,因为它似乎只返回第二个参数?

0 个答案:

没有答案