Python中的条件概率练习
import numpy as np
from numpy import random
random.seed(0)
totals={20:0,30:0,40:0,50:0,60:0,70:0} #表示每个年龄组的总人数
purchases={20:0,30:0,40:0,50:0,60:0,70:0} #表示每个年龄组中购买该产品的总数量
totalpurchases=0
for _ in range(100000): #创建了100000个虚拟人
agedecade=random.choice([20,30,40,50,60,70]) #将他们随机分配到这6个年龄段
purchaseprobability=float(agedecade)/100.0
totals[agedecade] +=1
if (random.random() < purchaseprobability) :
totalpurchases +=1
purchases[agedecade] +=1
totals
purchases
totalpurchases
其中:
- random.seed() 用来设置初始值,这里random.seed(0)是从0开始。
- **random.choice()**用来随机分配,这里表示随机分配从20,20,40,50,60,70里随机分配。
- **random.random()**用于随机生成从0到1的浮点数,即0<=n<=1.0。
- “_” 是占位符,表示不在意变量的值,用来循环n次。
- 我们为这个人分配了一个购买某种产品的概率,假设随着年龄的增加,购买这种产品的概率增加。接下来依次处理这100000个虚拟人,将所有结果加起来。