我遇到了rapidminer中的fp-growth操作符的問題。我正在處理大約20個文本文件,所有這些文件都是1MB大小的<。我使用了流程文檔操作符,並在該標記化過程中,過濾停用詞,轉換用例,生成n-gram和過濾令牌。從那裏我用數字來表示二項運算符。直到這一點一切工作正常,但是當我運行fp-growth運算符時,它只是無限期地處理而沒有結果。我試圖調整最小支持參數,但無濟於事。你有什麼建議如何解決這個問題?我真的很感謝任何指導。RapidMiner FP-growth操作符不返回任何結果
0
A
回答
0
FP-Growth是一種算法,用於在包含多個項目的多個事務中查找頻繁項目集。在你的場景中,這些項目可能是文本中出現的單詞,而每個文本都是一個事務。
不幸的是,頻繁項目集的問題呈指數形式:假設您有一個包含項目{A,B,C}的頻繁項目集,這意味着有足夠的事務包含所有三個項目。但是這也意味着所有的子集也很頻繁,因爲子集{A,B}至少包含在包含{A,B,C}的所有事務中。因此,如果{A,B,C}頻繁,{A,B},{B,C},{A,C}和{A},{B}和{C}。集合的數量是(2^n) - 1。因此,對於一組四個項目,我們已經有15個子集,對於五個31,依此類推。 所以問題是:什麼使得一個集合頻繁,爲什麼會有這麼多的頻繁集合,RapidMiner需要這麼長時間來計算它們呢?
最重要的因素當然是min_support。這定義了一個集合必須頻繁出現多少個事務的百分比閾值。如果將min_support增加到1,那麼將會有更少的項目集,並且計算速度會更快。 但是,不要被「找到最少數量的項目集」所欺騙。如果選中此項,RapidMiner將嘗試總是找到指定的最小數量的項目集,如果找不到任何項,將自動降低min_support。我的建議:關掉它。
您應該確認的另一件事是,正確的價值被確認爲「積極」,以指示該項目是交易的一部分。如果之前使用了數字到二項運算符,則這是「真」。所以你應該在RapidMiner的positive_value參數中輸入「true」。該參數僅在專家模式下可見。如果您未處於專家模式,則會在參數下方顯示一條線,告訴您「4個隱藏的專家參數」可用。您可以點擊該行切換到專家模式。
在特定情況下,你在哪裏文本文件,讓你的「交易」,你將有特殊的問題:
- 您將有成千上萬的屬性,特別是如果你產生的n-gram像你的情況。大量的屬性也會導致大量增加的運行時間。
- 如果您不通過在Process Document操作員中應用合理的修剪來刪除頻繁的單詞,那麼頻繁出現的單詞將會爆炸頻繁項目集的數量。假如你沒有過濾停用詞,那麼「a」,「the」,「is」等字就會出現在整個地方,導致其他頻繁的詞與他們共同出現。因此,頻繁集{A,B,C}將總是延伸到{A,B,C,a,the,is},所以我們現在有2^6 -1個子集,而不僅僅是7個...
希望這有助於!
相關問題
- 1. sizeof操作符返回奇怪結果
- 2. 如何返回url操作的結果
- 3. JSP返回任何結果
- 4. SQLiteQueryBuilder返回任何結果
- 5. .Fortran()返回任何結果
- 6. LDAP不返回任何結果
- 7. select-xml不會返回任何結果
- 8. Typeahead和Laravel不返回任何結果
- 9. CRM RetrieveMultipleResponse不返回任何結果
- 10. Laravel搜索不返回任何結果
- 11. 查詢不會返回任何結果
- 12. Phoenix Query Server不返回任何結果
- 13. PHP PDO不返回任何結果
- 14. glob.glob不返回任何結果
- 15. Ajax AutcompletExtender不返回任何結果
- 16. php json_decode不返回任何結果
- 17. GFCircleQuery不返回任何結果
- 18. KSOAP2不返回任何結果
- 19. Solrj getBeans()不返回任何結果
- 20. r函數不返回任何結果
- 21. Geo Data API不返回任何結果
- 22. JPA EntityManager createQuery不返回任何結果
- 23. $ geoIntersects不會返回任何結果
- 24. 嵌套Promise.map()不返回任何結果
- 25. @Query不返回任何結果
- 26. 如何爲rapidminer添加操作符
- 27. mongodb:使用$ in操作符的collection.find不返回任何東西
- 28. 返回任務結果
- 29. 我可以從操作過濾器返回操作結果嗎?
- 30. 任務等待不會返回結果