add subset algorithm

This commit is contained in:
kevin
2020-08-06 23:06:26 +08:00
parent 63583d4744
commit f02eeef0f6
11 changed files with 93 additions and 73 deletions

View File

@@ -2,9 +2,14 @@ package mathx
import "math"
func CalcEntropy(m map[interface{}]int, total int) float64 {
func CalcEntropy(m map[interface{}]int) float64 {
var entropy float64
var total int
for _, v := range m {
total += v
}
for _, v := range m {
proba := float64(v) / float64(total)
entropy -= proba * math.Log2(proba)