计算香农熵return arrays must be of ArrayType

代码在运行时会出现TypeError: return arrays must be of ArrayType的错误,因为log的第二个参数不是base而是out array。如果你只是想执行普通的log操作,可以选择使用numpy.math.log(1.1, 2)或者使用python自带的math模块的log函数,而不是导入numpy中所有的函数TT
原文链接:https://blog.csdn.net/qq_36396104/article/details/78696753

shannonEnt = sum(np.array([-p * np.math.log(p, 2) for p in probs]))

改成这个就行。不要直接np.log(p,2)

posted @ 2020-03-15 20:30  小千北同学超爱写代码  阅读(1714)  评论(0编辑  收藏  举报