目录
赔率
案例
计算赔率
Pandas
数据清洗和数据处理
车辆数据描述
代码区
判断1-10万间是否为素数
模拟环形公路堵车
浔阳江畔艄公张横和张顺正进行400米自由泳比赛, 宋江开赌场做庄,规定:张横赢赔率为3,张顺赢 赔率为2。假定不存在平局。赌徒李逵为张横下注 10两。比赛结束后,若最终张横赢,则宋江付赌徒李逵30两(10×3),赌资10两归庄家宋江所有,即李逵赚20两。若张顺赢,赌资10两归庄家宋江所有,即李逵赔10两。
假定所有赌徒中,共有a元买张横,b元买张 顺,则开赛前宋江收入为a+b元,开赛后的赔付期望为:
从上述结论知:使用y=1/p作为赔率,会使 得庄家在期望上不赔不赚。
这即“公平赔率”:yfair
——没有利润,这显然是庄家不希望看到的
拼团人数当时是1026人,尚有两天结束,根据历史先验,假定1天参团人数为100人,则最终参团人数为1226左右。考虑到3月12日为星期日,参团人数或许略低,因此大体参 团区间可能是[1180,1230]。
1.Fuzzywuzzy - Levenshtein distance 做数据清洗,尤其是做字符串的替换。
2.模糊查询与替换。
鸢尾花数据集
鸢尾花数据集或许是最 有 名的 模 式识 别 测试 数 据。
早在1936 年,模式识别的先驱 Fisher 就在论文“ The use of multiple measurements in taxonomic problems” 中使用了它 ( 直至今日该论文仍然被频繁引 用 ) 。
该数据集包括 3 个鸢 尾 花类 别 ,每 个 类别 有 50 个样 本。其中一个类别是与 另 外两 类 线性 可 分的 , 而另 外两类不能线性可分。
由于Fisher 的最原始数据集存在两个错 误 (35 号和 38 号样本) ,实验中我们使用的是修正过 的 数据。
import operator
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from time import time
import math
def is_prime(x):
return 0 not in [x % i for i in range(2, int(math.sqrt(x)) + 1)]
def is_prime3(x):
flag = True
for p in p_list2:
if p > math.sqrt(x):
break
if x % p == 0:
flag = False
break
if flag:
p_list2.append(x)
return flag
if __name__ == "__main__":
a = 2
b = 100000
t = time()
p = [p for p in range(a, b) if 0 not in [p % d for d in range(2, int(math.sqrt(p)) + 1)]]
print time() - t
print p
t = time()
p = filter(is_prime, range(a, b))
print time() - t
print p
t = time()
is_prime2 = (lambda x: 0 not in [x % i for i in range(2, int(math.sqrt(x)) + 1)])
p = filter(is_prime2, range(a, b))
print time() - t
print p
t = time()
p_list = []
for i in range(2, b):
flag = True
for p in p_list:
if p > math.sqrt(i):
break
if i % p == 0:
flag = False
break
if flag:
p_list.append(i)
print time() - t
print p_list
p_list2 = []
t = time()
filter(is_prime3, range(2, b))
print time() - t
print p_list2
print '---------------------'
a = 1180
b = 1230
a = 1600
b = 1700
p_list2 = []
p = np.array(filter(is_prime3, range(2, b+1)))
p = p[p >= a]
print p
p_rate = float(len(p)) / float(b-a+1)
print '素数的概率:', p_rate, 't',
print '公正赔率:', 1/p_rate
print '合数的概率:', 1-p_rate, 't',
print '公正赔率:', 1 / (1-p_rate)
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
def clip(x, path):
for i in range(len(x)):
if x[i] >= path:
x[i] %= path
if __name__ == "__main__":
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False
path = 5000
n = 100
v0 = 50
p = 0.3
Times = 3000
np.random.seed(0)
x = np.random.rand(n) * path
x.sort()
v = np.tile([v0], n).astype(np.float)
plt.figure(figsize=(10, 8), facecolor='w')
for t in range(Times):
plt.scatter(x, [t]*n, s=1, c='k', alpha=0.05)
for i in range(n):
if x[(i+1)%n] > x[i]:
d = x[(i+1) % n] - x[i]
else:
d = path - x[i] + x[(i+1) % n]
if v[i] < d:
if np.random.rand() > p:
v[i] += 1
else:
v[i] -= 1
else:
v[i] = d - 1
v = v.clip(0, 150)
x += v
clip(x, path)
plt.xlim(0, path)
plt.ylim(0, Times)
plt.xlabel(u'车辆位置', fontsize=16)
plt.ylabel(u'模拟时间', fontsize=16)
plt.title(u'环形公路车辆堵车模拟', fontsize=20)
plt.tight_layout(pad=2)
plt.show()
相关知识
第 1 章 机器学习基础引言
[机器学习基础][笔记] 一、鸢尾花分类
AI小白学习之旅(1):从什么是机器学习说起
机器学习之路:经典的鸢尾花数据集
机器学习术语表
Python机器学习基础教程
OpenCV机器学习(1):贝叶斯分类器实现代码分析
[Python机器学习]鸢尾花分类 机器学习应用
《Python机器学习开发实战》电子书在线阅读
机器学习常用术语
网址: 机器学习基础1 https://m.huajiangbk.com/newsview537545.html
上一篇: 北京科技大学化学与生物工程学院 |
下一篇: 后花园选美大赛 |