KL散度,提示越界,通过率66.67,找了半天没找出问题在哪里 from math import log if __name__ == "__main__":     p_data = [int(i) for i in input().split()]     q_data = [int(i) for i in input().split()]     p_total = len(p_data) + 1e-5     q_total = len(q_data) + 1e-5     x_unique = []     for x in p_data + q_data:         if x not in x_unique:             x_unique.append(x)     p_stat = {x: 0 for x in x_unique}     q_stat = {x: 0 for x in x_unique}     for x in p_data:         p_stat[x] += 1     for x in q_data:         q_stat[x] += 1     kl_val = 0     for x in x_unique:         p_proba = p_stat[x] / p_total + 1e-5         q_proba = q_stat[x] / q_total + 1e-5         kl_val += p_proba * log(p_proba / q_proba, 2)     print("%.2f" % kl_val)
点赞 1

相关推荐

01-12 17:45
门头沟学院 Java
985废物一枚:就是问问你能不能接受北京的房租,hr也知道公司工资不高,大概率是要贴钱的
找实习记录
点赞 评论 收藏
分享
勇敢的懒羊羊觉得你很...:人要允许自己失败,允许自己不优秀,成不了惊天动地的大人物不代表我们的人生没有意义
工作压力大,你会干什么?
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务