Re: [請益] 外商面試題目
※ 引述《pologuy (購物慾好強)》之銘言:
: ex:
: 甲買商品A 同時會購買BC
: 乙買商品A 同時會購買CD
: 因此A和C的關聯性較高
: 那麼要如何將A商品的關聯性商品記錄下來,並且將較高關聯性的商品(如上述C)推薦給
: \
: 消費者?
: 這是小弟之前面試的題目,想不到好的方法,想請教各位!
如果是面試,簡單的作法是把甲和乙(或其它user 假設是相同一個人)
並假設ABC與時間無關(想成賣永久,不會下架)
這樣問題可以簡化成frequent itemset/ Association rule learning 的問題
看這裡:http://en.wikipedia.org/wiki/Association_rule_learning
其中最簡單的解法是aprior: http://en.wikipedia.org/wiki/Apriori_algorithm
每一本資料探碪的書一定都會教這個演算法,本身很簡單,這裡就略過
面試要求現場寫出apriori的code挺合理的,基本上就是算confidence和support
這算是Data Mining 101,寫不出來/講不出來,很有可能被面試者
根本沒學/修過這門課,如果應徵data engineer/ data scientist
大概可以直接fail掉他
那…如果甲乙丙(user有不同偏好)不是同一個人,且東西有時效性(想成電影)
這幾年最經典的2010 KDD Best paper的
BellKor's Pragmatic Chaos 演算法
Paper下載點:http://dl.acm.org/citation.cfm?id=1721677
後者那個鬼東西要看懂(不要講實作)都要好幾天
不可能現場寫得出來
相關的面試問題還有很多,基本上這是在考
Recommendation System Design或是Collaborative Filtering
有時候還會被加問如果資料很大(超大,大到放不到一台電腦如何解決)
正解是map-reduce over hadoop,配上Apache Mahout
裡面有現成的Collaborative Filtering 函式庫可以使用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
留言