2014-06-20 167 views
3

我正在尋找算法,但錯過了正確的關鍵字以獲得一個概述。我試圖實現的是一個函數,它可以找到元組數據集中的相關/模式/ ...(簡化)。例如:查找鄰居元組

dataset=(('a','b','c'),('1','a'), ('x','y','b','c')) 
print magic(1.0, dataset) 
-> ('b','c') 

正如所看到的,該函數將返回雙元件的,即總是同時出現(1.0 = 100%)或與特定概率法。

任何人都可以告訴我哪一組算法適合我的問題嗎?也許指向一個做這個工作並被測試的lib吧? :)

+0

'('a','b')'對應的概率是多少?那麼'('b','a')'? –

+0

可能相關:http://en.wikipedia.org/wiki/Cluster_analysis – shuttle87

+1

'總是一起出現' - >聽起來就像你想對[貝葉斯定理]進行分類(http://en.wikipedia.org/wiki/貝葉斯%27_theorem);找到B和C之間的支持。 – RJFalconer

回答

0

看一看頻繁項集挖掘(FIM)關聯規則挖掘

在您的問題中,您基本上對A -> B類型的關聯規則感興趣,且信心百分百。

尤其是APRIORI algorithm,如果你有興趣共生比3

請注意,如果您只想對,APRIORI歸結爲掃描數據庫兩次,算上所有對較大;你修剪不了什麼。根據數據的稀疏性,相交的倒排列表可能要快得多。

+0

感謝提示:)作爲實現,我發現了橙色的lib,提供了不同的評論:http://orange.biolab.si/docs/latest/reference/rst/Orange.associate/ – MaM