sample_without_replacement#

sklearn.utils.random.sample_without_replacement(n_population, n_samples, method='auto', random_state=None)#

不带替换的示例整数。

从集合[0,n_pullup)中选择n_samples整元,不进行替换。

参数:
n_populationint

要采样的集的大小。

n_samplesint

要采样的整数数。

random_stateint,RandomState实例或无,默认=无

如果是int,则random_State是随机数生成器使用的种子;如果是RandomState实例,则random_State是随机数生成器;如果是无,则随机数生成器是由使用的RandomState实例 np.random .

method{“Auto”,“Tracking_selection”,“storage_sampling”,“pool”}, 默认='自动'

如果方法==“Auto”,则使用n_samples / n_pullup的比率来确定使用哪种算法:如果比率在0和0.01之间,则使用跟踪选择。如果比率在0.01和0.99之间,则使用numpy.random. performing。如果比率大于0.99,则使用水库采样。所选择的整数的顺序未定义。如果需要随机顺序,则应对所选子集进行洗牌。

如果方法==“Tracking_selection”,则使用适合于 n_samples <<< n_population .

如果方法==“reservoir_sampling”,则使用适合于高存储器约束或当O (n_samples )~ O (n_population ).所选择的整数的顺序未定义。如果需要随机顺序,则应对所选子集进行洗牌。

如果方法==“pool”,则基于池的算法特别快,甚至比跟踪选择方法更快。然而,包含整个种群的载体必须被初始化。如果n_samples ~ n_pupe,则水库采样方法更快。

返回:
out形状的nd数组(n_samples,)

抽样的整元子集。所选整元的子集可能不会随机化,请参阅方法参数。

示例

>>> from sklearn.utils.random import sample_without_replacement
>>> sample_without_replacement(10, 5, random_state=42)
array([8, 1, 5, 0, 7])