分类分布的快速按需抽样
categorical的Python项目详细描述
分类采样器:从pip安装分类采样器首先,对一组随机数进行抽样,以确定随机导入random中的概率“scores”
>;>;k=10**6
>;>;scores=[random()for i in range(k)]
>;>;total=sum(scores)
>;>;概率=[s/分数中s的总和]
我们将分数标准化为和为1,即将
它们转化为适当的概率,但实际上分类采样器将为我们这样做,因此不必:
>;从分类导入分类为c
>;my_sampler=c(分数)
>;>print my_sampler.sample()
487702
开始=时间。时间()
>;>>对于范围(1000)内的i:
>;>>选择(k,p=概率)
>;>>打印时间。时间()-开始
>;
>;>>定义时间我的别名():
>;>开始=时间。时间()
>;>>;>>;对于范围(1000)内的i:
>;>>gt;My'u Sampler.sample()
>>>gt;打印时间.time()-开始
>;
>>>>;
>>>>>>>>>>>>>>>>>>>>>时间-时间-时间-时间-时间
>31.055500909842
>>>>>>>0.012703180318003131
>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>我的My'u Sampler。获取概率(487702)的概率(487702)
>>>>>>>>>>>>>>>>>>>>>>>1.0911282101090306E-06号
>;>;k=10**6
>;>;scores=[random()for i in range(k)]
>;>;total=sum(scores)
>;>;概率=[s/分数中s的总和]
我们将分数标准化为和为1,即将
它们转化为适当的概率,但实际上分类采样器将为我们这样做,因此不必:
>;从分类导入分类为c
>;my_sampler=c(分数)
>;>print my_sampler.sample()
487702
开始=时间。时间()
>;>>对于范围(1000)内的i:
>;>>选择(k,p=概率)
>;>>打印时间。时间()-开始
>;
>;>>定义时间我的别名():
>;>开始=时间。时间()
>;>>;>>;对于范围(1000)内的i:
>;>>gt;My'u Sampler.sample()
>>>gt;打印时间.time()-开始
>;
>>>>;
>>>>>>>>>>>>>>>>>>>>>时间-时间-时间-时间-时间
>31.055500909842
>>>>>>>0.012703180318003131
>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>我的My'u Sampler。获取概率(487702)的概率(487702)
>>>>>>>>>>>>>>>>>>>>>>>1.0911282101090306E-06号