[問題] 請問有大大有用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