跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 概率随机分布
未分類
2 1 月 2021

概率随机分布

概率随机分布

資深大佬 : stdout 1

np.random.choice()可以对固定数组设置概率随机。限制是固定的数组。 如果我要区间概率随机,比如 0-100 取数 0-10:1% 10-20:9% 20-30: 20% 30-80: 30% 80-99: 39.99% 100: 0.01% 有什么库能直接处理这个问题呢?先谢谢各位先。

大佬有話說 (6)

  • 資深大佬 : NaVient

    提供一个思路,用真随机来做概率随机,按照比例扩充样本数量 🙂

  • 資深大佬 : NaVient

    然后附上代码
    “””
    p = np.array([0.2,0.4,0.3,0.1])
    print(np.random.choice([0,1,2,3], p = p.ravel()))
    “””

  • 主 資深大佬 : stdout

    @NaVient 这个是固定的数组随机,需要实现范围内概率随机。

  • 資深大佬 : NaVient

    @stdout #3 想法灵活一点,用两次随机,第一次随机拿到按概率随机的范围,第二次随机从范围中真随机一个对象

  • 資深大佬 : hahastudio

    numpy.org/doc/stable/reference/generated/numpy.piecewise.html

  • 主 資深大佬 : stdout

    “””
    import random
    n = 1000
    # 分布参数
    params = {
    (0, 10): 0.01,
    (10, 20): 0.1,
    (20, 50): 0.2,
    (50, 60): 0.68,
    (90, 100): 0.01,
    }
    p = np.array(list(params.values()))
    c = np.array(range(len(params)))
    x = np.arange(n)
    y = []
    for _ in range(n):
    _c = np.random.choice(c, p=p.ravel())
    _yc = list(params.keys())[_c]
    _y = random.randrange(*_yc)
    y.append(_y)

    plt.scatter(x, y)
    “””

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具