五月山雨 2023-05-26 10:07 采纳率: 71.4%
浏览 21
已结题

该怎么用代码绘制出后验分布图像?

部分代码如下:

img


请问该怎么写代码才能绘制出关于p的后验分布图像?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-26 20:15
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7517476
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:p站多线程下载视频
    • 除此之外, 这篇博客: 写个爬虫爬取p站画师的画作中的 1.函数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      代码如下(示例):

      from urllib.request import urlopen
      from bs4 import BeautifulSoup
      
      
      def worm(temp):
          cards = []
          url = "http://acg17.com/category/meitu/pixiv-painter/page/{:d}/".format(temp)
          html = urlopen(url)
          bsObj = BeautifulSoup(html.read(), features='html.parser')
          for pic in bsObj.findAll('article'):
              url2 = pic.a['href']
              html2 = urlopen(url2)
              bsObj2 = BeautifulSoup(html2.read(), features='html.parser')
              for photo in bsObj2.findAll('p'):
                  if photo.img != None:
                      if photo.img['src'][24] == 'l':
                          break
                      elif photo.img['src'][-3:] == 'gif':
                          pass
                      else:
                          cards.append(photo.img['src'])
              for card in cards:
                  print(card)
      for i in range(10, 20):
          print("这是第{:d}页的本子  (*∩_∩*)′ 献上 ".format(i))
          worm(i)
          print("\n")
      print("所有的本子都爬好了哦  得意 <( ̄︶ ̄)>")
      
    • 以下回答来自chatgpt:

      针对您的问题,我可以给出以下解决方案:

      import numpy as np
      import matplotlib.pyplot as plt
      
      def posterior_distribution(prior_distribution, likelihood, evidence):
          # 计算似然函数
          likelihood_func = prior_distribution * likelihood
          # 计算归一化常量Z
          Z = np.sum(likelihood_func)
          # 计算后验概率
          posterior = likelihood_func / Z
          return posterior
      
      prior = np.array([.2, .2, .2, .2, .2])
      likelihood = np.array([.3, .6, .8, .9, 1.])
      evidence = .7
      
      posterior = posterior_distribution(prior, likelihood, evidence)
      
      # 绘制并显示后验分布图像
      plt.plot(posterior)
      plt.title('Posterior Distribution')
      plt.xlabel('Parameter p')
      plt.ylabel('Probability')
      plt.show()
      

      在以上代码中,我添加了计算后验分布以及绘制后验分布图像的代码。在posterior_distribution函数中,首先计算了似然函数,然后计算了归一化常量Z,最后得到了后验概率。在绘制后验分布图像时,使用了Matplotlib库的plot方法来绘制折线图,使用title方法添加标题,使用xlabelylabel方法添加x轴和y轴的标签,最后使用show方法显示图像。

      需要注意的是,在绘制图像前需要先调用posterior_distribution函数计算后验概率。此外,该代码中的概率分布都是离散的,因此绘制的是离散的后验分布折线图。如果需要绘制连续的概率分布曲线,可以考虑使用KDE方法(Kernel Density Estimation)。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    问题事件

    • 系统已结题 6月4日
    • 已采纳回答 5月27日
    • 创建了问题 5月26日

    悬赏问题

    • ¥15 求苹果推信imessage批量推信技术
    • ¥15 ubuntu 22.04 系统盘空间不足。隐藏的docker空间占用?(相关搜索:移动硬盘|管理系统)
    • ¥15 利用加权最小二乘法求亚马逊各类商品的价格指标?怎么求?
    • ¥15 c++ word自动化,为什么可用接口是空的?
    • ¥15 Matlab计算100000*100000的矩阵运算问题:
    • ¥50 VB6.0如何识别粘连的不规则的数字图片验证码
    • ¥16 需要完整的这份订单所有的代码,可以加钱
    • ¥15 Stata数据分析请教
    • ¥15 请教如何为VS2022搭建 Debug|win32的openCV环境?
    • ¥15 关于#c++#的问题:c++如何使用websocketpp实现websocket接口调用,求示例代码和相关资料