Working Practice-不使用怪癖的算法实现

做feature的时候,有时候,为了实现一个功能,会使用一些怪癖的算法或方法实现。怪癖的算法是有缺点的,通常意味着:

  1. 较高的理解难度。
  2. 较高的维护成本。
  3. 较低的稳定性。
另外:

  1. 使用怪癖的算法实现一个功能并不意味着高技术能力。
  2. 好的算法应该易于理解,清晰,可维护。
  3. 尽可能多的保持简单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据朴素贝叶斯算法,我们需要分别计算天气状况、车辆状况、是否外出这三个属性的先验概率和条件概率,并利用贝叶斯公式计算后验概率,最终选择后验概率大的结果作为预测结果。 首先,计算天气状况、车辆状况、是否外出这三个属性的先验概率: - 天气状况(Sunny/Rainy)的先验概率:$P(Sunny)=\frac{5}{10}=0.5$,$P(Rainy)=\frac{5}{10}=0.5$ - 车辆状况(working/broken)的先验概率:$P(working)=\frac{6}{10}=0.6$,$P(broken)=\frac{4}{10}=0.4$ - 是否外出(go-out/stay-home)的先验概率:$P(go-out)=\frac{5}{10}=0.5$,$P(stay-home)=\frac{5}{10}=0.5$ 接下来,计算每个属性下不同取值的条件概率: - 天气状况(Sunny/Rainy)下是否外出(go-out/stay-home)的条件概率: $$P(go-out|Sunny)=\frac{4}{5}=0.8, \quad P(stay-home|Sunny)=\frac{1}{5}=0.2$$ $$P(go-out|Rainy)=\frac{1}{5}=0.2, \quad P(stay-home|Rainy)=\frac{4}{5}=0.8$$ - 车辆状况(working/broken)下是否外出(go-out/stay-home)的条件概率: $$P(go-out|working)=\frac{5}{6}=0.833, \quad P(stay-home|working)=\frac{1}{6}=0.167$$ $$P(go-out|broken)=\frac{0}{4}=0, \quad P(stay-home|broken)=\frac{4}{4}=1$$ 根据贝叶斯公式,我们可以计算在天气状况为“Sunny”,车辆状况为“broken”时,是否外出的后验概率: $$\begin{aligned}P(go-out|Sunny,broken)&=\frac{P(Sunny|go-out)P(broken|go-out)P(go-out)}{P(Sunny)P(broken)}\\&=\frac{P(Sunny|go-out)P(broken|go-out)P(go-out)}{P(Sunny)P(broken|Sunny)P(Sunny)+P(Rainy)P(broken|Rainy)P(Rainy)}\\&=\frac{0.8*0*0.5}{0.5*0.4*0.5+0.5*0*0.5}\\&=0\end{aligned}$$ $$\begin{aligned}P(stay-home|Sunny,broken)&=\frac{P(Sunny|stay-home)P(broken|stay-home)P(stay-home)}{P(Sunny)P(broken)}\\&=\frac{P(Sunny|stay-home)P(broken|stay-home)P(stay-home)}{P(Sunny)P(broken|Sunny)P(Sunny)+P(Rainy)P(broken|Rainy)P(Rainy)}\\&=\frac{0*1*0.5}{0.5*0.4*0.5+0.5*0*0.5}\\&=0\end{aligned}$$ 因此,当天气状况为“Sunny”,车辆状况为“broken”时,预测结果为“stay-home”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值