[问题] 请问有大大有用C++写过apriori算法吗?

楼主: storm654321 (P助)   2015-07-20 14:10:18
用C实作apriori算法 我已经想了一星期了还写不出来...
有上google 搜寻过别人写过的程式码 可是看不懂
请问有大大有写过apriori算法 可以借小弟看吗?@@
小弟做到一半的程式码: (目前只能跑到L2)
https://drive.google.com/file/d/0B6-WS8IHZbA9R0JzWVVYZmFqR1E/view?usp=sharing
测试档案:
https://drive.google.com/file/d/0B6-WS8IHZbA9N1o2ZlRKc1FYY2M/view?usp=sharing
说明:
每一行 代表一位客人所购买的商品
将 TXT档案存到 矩阵 matrix[交易数量][商品编号]
然后利用matrix 生出C1
图示:
https://drive.google.com/file/d/0B6-WS8IHZbA9dV8xVXpqU2gyWmM/view?usp=sharing
请问这样的想法是正确的吗??
我目前是用途法炼钢的方法做
本来想要多做一些 然后找到共同的地方把它写成for循环
让他在最糟糕的情况之下 也可以跑完 C50 L50
可是 做C3 时 会用到3 层来生成candidate矩阵
做C4 时 会用到4 层来生成candidate矩阵
做C50时 会用到50层来生成candidate矩阵....
我不知道怎么把这种情况 弄成一个循环来做
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-07-20 14:22:00
土法炼钢。
作者: andy410061 (高坂桐乃は俺の嫁)   2015-07-20 16:28:00
你是哪间实验室的?
作者: Feis (永远睡不着 @@)   2015-07-20 17:03:00
这不是 C
作者: andy410061 (高坂桐乃は俺の嫁)   2015-07-20 17:11:00
我建议你 把找C跟找L的分拆出两个函数来处理function find_C(Lset) 跟 function find_L(Cset)因为每一层的L跟C可以控制阵列大小 所以可以用new的举个例子 再找C2时会用到L1 所以每个C候选都是int[2]我的作法是额外再用一个全域变量来让函数知道现在做到第几层 这样就很好控制阵列大小了另外 我不建议把整个txt全部放到内存然后 别直接上来讨code 很多学长有看这板的XDDDD我要去告状啦 哈哈哈哈哈哈哈哈哈哈哈哈
作者: cpper (韩立)   2015-07-20 17:31:00
善意提醒你,将你的个人资讯(xx实验室)删除,这是公开板面没必要因为问个问题就曝光你自己的资料。
作者: Feis (永远睡不着 @@)   2015-07-20 18:10:00
wiki 的写法不能用吗 ?
作者: andy410061 (高坂桐乃は俺の嫁)   2015-07-20 18:59:00
我开玩笑的啦 真的照楼上讲的把个资拿掉比较好
作者: zhuzii (UsualMan)   2015-07-21 17:39:00
不会&有动手写 拿出来讨论蛮好的

Links booklink

Contact Us: admin [ a t ] ucptt.com