我正在尝试在Clojure中实现这段Python代码:
# Make sure the probability exceeds threshold*next best
for cat in probs:
if cat==best: continue
if probs[cat]*self.getthreshold(best)>probs[best]: return default
return best
如何在Clojure中继续使用。我应该使用什么机制?
答案 0 :(得分:1)
(->> probs
(remove (partial = best))
(reduce (fn [best prob] strong text
(if (> (* prob (get-threshold best)) best)
(reduced default)
best)) best))
最有可能充满错误,但要点是
删除概率最大的那些,然后将其余的减少到default
。
减少收益的方法是使用reduced