2011-11-10 24 views
0

我有一個數據集類似下面合適的算法來找出協會

1=> aa,ser,sdf,gg,er,we <br/> 
2=> gg,aa,uy,de,or,qq<br/> 
3=> aa,er,we,uy<br/> 
4=> oo,aa,gg,tr,dw<br/> 
5=> iu,gg,re,de,ser<br/> 

同樣大約有1000個事務。
我想細哪些項目出現更爲頻繁與

「AA」, 「AA」 和 「GG」, 「OO」

等等
每當我的名字項目,應該顯示經常使用的其他項目。什麼類型的算法/算法適合用於這種情況?

回答

0

拆分這一切變成一個大兩列的表:

num,wrd 
===,=== 
1,aa 
1,er 
1,gg 
1,sdf 
1,ser 
1,we 
2,aa 
2,dd 
... 
5,re 
5,ser 

從那裏,它更容易查詢出你想要的東西。例如,

select wrd, count(*) from words group by wrd order by count(*) desc; 
0

關聯規則學習可能是一個簡單而快速的選項。

根據您想要調整解決方案的方式,有很多選項。在主題上檢查這個survey