| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package main
- import (
- //"fmt"
- "fmt"
- "git.wecise.com/wecise/common/alg/fp"
- "strings"
- )
- func main() {
- /*
- db := fp.DataSet{
- fp.Items{"A","B","C","D","E"},
- fp.Items{"A","C","B"},
- fp.Items{"F","A","D"},
- fp.Items{"A","G","E","D"},
- fp.Items{"D","E","B"},
- fp.Items{"F","A","C","E"},
- fp.Items{"E","B"},
- fp.Items{"C","A","B"},
- fp.Items{"A","D"},
- fp.Items{"F","C"},
- fp.Items{"C"},
- }
- */
-
- // http://www.cnblogs.com/zhangchaoyang/articles/2198946.html
-
- db := fp.DataSet{
- fp.Items{"牛奶","鸡蛋","面包","薯片"},
- fp.Items{"鸡蛋","爆米花","薯片","啤酒"},
- fp.Items{"鸡蛋","面包","薯片"},
- fp.Items{"牛奶","鸡蛋","面包","爆米花","薯片","啤酒"},
- fp.Items{"牛奶","面包","啤酒"},
- fp.Items{"鸡蛋","面包","啤酒"},
- fp.Items{"牛奶","面包","薯片"},
- fp.Items{"牛奶","鸡蛋","面包","黄油","薯片"},
- fp.Items{"牛奶","鸡蛋","黄油","薯片"},
- }
-
- // https://github.com/enaeseth/python-fp-growth/blob/master/fp_growth.py
- // http://www.cnblogs.com/datahunter/p/3903413.html
-
- alg := fp.New()
- alg.Mine(db, 3, []fp.OID{})
- //alg.Print()
- for _, items := range alg.Result() {
- fmt.Printf("%s :%d\n", strings.Join(items[0].([]string), " "), items[1].(int))
- }
- //pattern := fp.Mine(db , 4, []string{})
- //pattern := fp.MineImproved(db , 3)
-
- /*
- fmt.Println("len ==>", len(pattern))
-
- for i:=0 ; i<len(pattern) ; i++ {
- if pattern[i].Count != 0 {
- fmt.Printf("Item: %v ,Count: %d \n", pattern[i].Pattern , pattern[i].Count)
- }
- }
- */
- }
|