ValueError: Sample larger than population selecting samples from graph
ValueError: Sample larger than population selecting samples from graph
我正在尝试从图表中随机 select n 个样本。为此,我使用 random.sample 函数创建了一个名为 X 的列表,如下所示:
X= random.sample(range(graph.ecount()), numPosSamples)
问题是当 numPosSamples 等于 graph.ecount() 时,我收到以下错误:
ValueError: Sample larger than population
任何帮助将不胜感激。谢谢
我不确定 numPosSamples
是如何获得它的价值的,但是因为 random.sample
进行采样 而没有 替换,这里可能发生的是numPosSamples
大于图形中的边数。结果,Python 提高了您看到的 ValueError
。
要么将样本数量减少到少于边缘数量,要么使用允许使用 和 替换进行采样的采样方法,例如使用 random.choice
.
您可以添加一些逻辑来检测您的列表是否少于您想要的样本数。
例如:
a = list(range(10))
num_samples = 20
sample(a, num_samples if len(a) > num_samples else len(a))
我正在尝试从图表中随机 select n 个样本。为此,我使用 random.sample 函数创建了一个名为 X 的列表,如下所示:
X= random.sample(range(graph.ecount()), numPosSamples)
问题是当 numPosSamples 等于 graph.ecount() 时,我收到以下错误:
ValueError: Sample larger than population
任何帮助将不胜感激。谢谢
我不确定 numPosSamples
是如何获得它的价值的,但是因为 random.sample
进行采样 而没有 替换,这里可能发生的是numPosSamples
大于图形中的边数。结果,Python 提高了您看到的 ValueError
。
要么将样本数量减少到少于边缘数量,要么使用允许使用 和 替换进行采样的采样方法,例如使用 random.choice
.
您可以添加一些逻辑来检测您的列表是否少于您想要的样本数。
例如:
a = list(range(10))
num_samples = 20
sample(a, num_samples if len(a) > num_samples else len(a))