看板 Soft_Job 關於我們 聯絡資訊
小弟是做web application的 之前稍徵看了一些data mining的東西,但不是很專精 看到這篇討論有些問題想要請教 ※ 引述《chucheng (時間太少事情太多)》之銘言: : ※ 引述《pologuy (購物慾好強)》之銘言: : : ex: : : 甲買商品A 同時會購買BC : : 乙買商品A 同時會購買CD : : 因此A和C的關聯性較高 : : 那麼要如何將A商品的關聯性商品記錄下來,並且將較高關聯性的商品(如上述C)推薦給 : : 消費者? : : 這是小弟之前面試的題目,想不到好的方法,想請教各位! : 並假設ABC與時間無關(想成賣永久,不會下架) : 這樣問題可以簡化成frequent itemset/ Association rule learning 的問題 : 看這裡:http://en.wikipedia.org/wiki/Association_rule_learning : 其中最簡單的解法是aprior: http://en.wikipedia.org/wiki/Apriori_algorithm 不知道我的理解是否有誤 Associative rule mining應該不用假設user是同一個人? 例如有10000筆便利商店的交易,但沒有記錄客人的身份及特徵(如性別、年齡等) 如果「香煙->打火機」的support和confidence夠高 還是可以在顧客購買香煙時推薦打火機,或將打火機放在香煙旁增加購買率? 當然,如果可以考慮其他因素,可能有更精準的mining結果 但我想就算沒有額外因素,並不一定要假設user的身份 將大量的transaction做associative rule mining也是有參考價值的? : 相關的面試問題還有很多,基本上這是在考 : Recommendation System Design或是Collaborative Filtering : 有時候還會被加問如果資料很大(超大,大到放不到一台電腦如何解決) : 正解是map-reduce over hadoop,配上Apache Mahout : 裡面有現成的Collaborative Filtering 函式庫可以使用 我之前剛好也思考這個問題,假設以下情境: * 我有一個資料庫,只記錄了顧客購買過哪些物品,但沒有任何額外資訊。 * 這些商品顧客通常只會購買一次 (如書、CD) * 基於這個前提,要推薦顧客之前未購買,但可能會有興趣的商品。 同樣考量資料量可能很大的情況 我之前曾經survey過C大提到的Apache Mahout Ex. https://cwiki.apache.org/MAHOUT/recommender-documentation.html 我的認知是Mahout的collaborative filtering似乎都是針對preference(rating)資料 使用者對商品必需有一個評價(Ex. 1~5分),或者尚未評價 或者在"boolean model"中,使用者對一個商品可以是:喜歡、不喜歡、未評價 但是,基本上只能知道顧客「有購買」或「未購買」 無法使用Mahout現成的recommendation機制 一開始原PO的例子也一樣,只能知道「哪些東西一起被購買」 無法知道「顧客對商品的評價」 像Mahout現成recommendation engine的機制 似乎比較適合Google Play, Netflix這種容易蒐集rating的應用 不知道我是否有什麼疏漏或誤會的地方 或者C大是指使用Mahout底層的矩陣map reduce運算,自行建構推薦演算法? 附帶一提,針對我提到的情境 我構思的解法是把每個顧客的購買視為一個transaction 簡單用apriroi做associative rule mining推薦 若在資料量太大的情境下,則考慮將apriroi的每個step拆分到map-reduce做運算 不知道以上有沒有更好的方法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 27.241.48.208
del680202:這個年代 比apriori強的algorithm很多了 04/28 18:29
del680202:不需要什麼都丟map-reduce 04/28 18:30
jlhc:而且你資料量沒大到一定程度 根本用不到map reduce.... 04/28 20:12
realbout:心裡在想....有沒有雲端的....這樣就輕鬆多了~ 04/29 11:30