什么是Python的Numpy np.random.choice的Java等价物?

时间:2018-03-18 05:22:28

标签: java python numpy random probability

我一直在寻找Java的等价代码或基本理论为pythons np.random.choice(Numpy as np)。我正在尝试用Java实现Q-learning。我有一个类似的实现,它使用Python的np.random.choice方法从概率分布中选择随机移动。

Python's code

输入列表:['pooh','rabbit','piglet','Christopher']和概率:[0.5,0.1,0.1,0.3]

我想在给定每个输入元素的相关概率的情况下从输入列表中选择一个值。

1 个答案:

答案 0 :(得分:1)

使用Apache Commons数学库,EnumeratedInteger发布,http://commons.apache.org/proper/commons-math/javadocs/api-3.6/org/apache/commons/math3/distribution/EnumeratedIntegerDistribution.html

的好主意

沿线(在某些伪代码中)

values = new String[4]{'pooh', 'rabbit', 'piglet', 'Christopher'};
dist   = new EnumeratedIntegerDistribution(new int[4]{0,1,2,3}, new double[4]{0.5, 0.1, 0.1, 0.3});

int idx = dist.sample();
return values[idx];