【每周一坑】蜥蜴流感与贝叶斯定理

春季是流感的高发季节。不要觉得只是小小的“感冒”,严重起来甚至也会危及生命,而且还没有特效药。因此,身体不适请及时到医院检查。

今天的问题就与流感诊断有关。此题取自《深入浅出数据分析》一书中的贝叶斯统计一章。

最近流行起一种奇怪的流感,称作蜥蜴流感,虽不致命,但需隔离治疗。关于这种流感,我们已经通过大量统计得知以下事实:

  1. 总人口中有1%的人患有蜥蜴流感
  2. 若某人已患蜥蜴流感,诊断结果为阳性的概率为90%
  3. 若某人未患蜥蜴流感,诊断结果为阳性的概率为9%

如果现在你的诊断结果为阳性,那么你实际患病的可能性有多大?

这个问题可以通过“贝叶斯定理”直接计算得出结果。

(书中这里的公式有个符号不对,已修正)

不过今天的题,我希望你们用程序模拟一场蜥蜴流感。比如有10万个人,按照上述3条规则去模拟,最后去统计下检测结果阳性中有多少人是真正的患者。

输出示例:

再用贝叶斯公式计算一下,看看是否符合你的模拟实验结果?

通过这个实验,想必也会让你对检测结果阳性和实际患病之间的关系有新的认识。

期待各位同学提交解答。

提交代码可以使用 paste.ubuntu.comcodeshare.io 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。

往期问题可通过公众号菜单栏“课外辅导”栏目中进入查看。


【解答】用代码给图片配上文字

上周的题目涉及到图像处理的库,我们给了参考的方向,今天来说下具体方法。

其实库的调用很简单,来看看 @GS 同学基于 PIL 库的实现:

from PIL import Image, ImageDraw, ImageFont
# 字体
setFont = ImageFont.truetype(r"happyfont2016.ttf", 50)
# 颜色
fillColor = "#ff0000"
# 读取图片
image = Image.open("yuantu.jpg")
# 创建绘图对象
draw = ImageDraw.Draw(image)
width, height = image.size
# 在图上绘制文字
draw.text((40, height - 90), u'陈独秀你坐下!!', font=setFont, fill=fillColor)
# 保存图片
image.save("yuantu.jpg", 'jpeg')

【效果】

要注意的地方:

  1. 原本的 PIL 库已停止维护,所以新的库叫 Pillow,通过 pip install pillow 安装,但在使用时仍然是 import PIL
  2. 默认的字体不支持中文,因此需要提供字体文件并指定。py2 也不支持中文,需要额外使用 freetype 库。

除了 PIL 库,OpenCV 库的 putText 方法也可以实现类似功能,但缺少对中文的支持:

import cv2

font = cv2.FONT_HERSHEY_SIMPLEX
im = cv2.imread('showme.jpg')
img=cv2.putText(im, 'Talk is cheap. Show me the code.', (50, 620), font, 1.5, (0,0,0), 3)
cv2.imwrite("showme_out.jpg", img)

期待在下一期中看到你的代码!

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2018-04-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏算法+

双边滤波算法的简易实现bilateralFilter

没怎么看过双边滤波的具体思路,动手写一写,看看能不能突破一下。 最后,感觉算法还是要分开 水平 与 垂直 方向进行分别处理,才能把速度提上去。 没耐性写下去了,...

5066
来自专栏ATYUN订阅号

NLP项目:使用NLTK和SpaCy进行命名实体识别

命名实体识别(NER)是信息提取的第一步,旨在在文本中查找和分类命名实体转换为预定义的分类,例如人员名称,组织,地点,时间,数量,货币价值,百分比等。NER用于...

6244
来自专栏新工科课程建设探讨——以能源与动力工程专业为例

3.1 Contour绘制

首先一起学习利用百度的开源项目绘制contour,百度搜索“echarts heatmap”,找到热力图的一个案例(http://echarts.baidu.c...

1130
来自专栏cloudskyme

使用R画地图数据

用R画地图数据 首先,从这里下载中国地图的GIS数据,这是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf、bou2_4p.shp和bou2_4p.s...

5037
来自专栏数据小魔方

R语言可视化——数据地图应用(东三省)

今天是一个案例应用,采用东北三省地图进行离散颜色映射,让大家感受下R语言在地理信息空间可视化方面的强大功能,同时也会对之前强调过的地图配色技巧进行应用。 加载工...

8185
来自专栏iOSDevLog

Turi Create 机器学习模型实战:你也能轻松做出Prisma 风格的图片!

如果你一直有关注Apple去年所发布的消息,就会知道他们在机器学习上投入了大量心力。自他们去年在WWDC 2017上推出Core ML以来,已经有大量结合机器学...

2992
来自专栏小红豆的数据分析

acmer之路(3)四月第一周日志

这一周加入了院足球队,好久都没有感受到在赛场上奔腾的感觉了。不过正好赶上清明,因此也算有充足的时间来码代码。这个月一共码了20题,排名终于冲进了四万名。

1191
来自专栏数据小魔方

R语言学习笔记——柱形图

今天分享R语言中的柱形图,所有图表语法都基于ggplot2包中的ggplot函数完成 。 其实R语言本身就带有各种作图函数,比如plot、bar、pie等,而且...

48613
来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

SSE图像算法优化系列五:超高速指数模糊算法的实现和优化(10000*10000在100ms左右实现)。

      今天我们来花点时间再次谈谈一个模糊算法,一个超级简单但是又超级牛逼的算法,无论在效果上还是速度上都可以和Boxblur, stackblur或者是G...

37410
来自专栏数据科学与人工智能

【Python环境】可爱的 Python: 自然语言工具包入门

鄙人并非见多识广,虽然写过很多关于 文本处理 方面的东西(例如,一本书),但是,对我来说, 语言处理(linguistic processing) 是一个相对新...

3258

扫码关注云+社区