2016-02-03 19 views
3

我已經使用了一種ML方法來使用python scikit-learn進行研究。我發現,SVM和logistic迴歸分類效果最好(例如:85%的準確度),決策樹的作品明顯惡化(65%),然後樸素貝葉斯工作明顯惡化(40%)。不同ML分類器的性能不同,我能推斷出什麼?

我會寫了結論,說明明顯,一些ML分類大幅度的工作比別人好,但還有什麼我可以說我的學習任務或數據結構,根據這些意見?

版:

數據集涉及50萬行數據,我有15個功能,但某些功能有一定的文字串的各種組合,所以它自然擴展到數萬列作爲稀疏矩陣。我使用人名來預測一些二進制類(例如:性別),儘管我的名字實體的名稱實體很多,例如名稱的長度,名稱的子字符串等。

+0

我希望你調整你已經嘗試了所有的分類,特別是決策樹分類的參數。你能否更詳細地描述你的數據集? –

+0

是的,我在調諧時嘗試了很多參數。數據集涉及500,000行,我有15個特徵,但其中一些特徵是某些文本的子串的各種組合,所以它自然地擴展爲數以萬計的列作爲稀疏矩陣。我確實明白不同大小的行和列對於不同大小的ML是多麼的適合,但是如果你對它們進行全面測試並得到不同的結果,我不知道還有什麼其他的結論可以推斷出來。 – KubiK888

回答

1

我建議您訪問在這真棒地圖由scikit學習團隊http://scikit-learn.org/stable/tutorial/machine_learning_map

選擇正確的估計作爲描述自己案件的細節將是一項艱鉅的任務(我完全理解你沒有做到這一點!)我鼓勵你問你自己幾個問題。因此,我認爲「選擇正確的評估者」的地圖是一個好的開始。

從字面上看,進入「啓動」節點地圖,並按照路徑:

  • 是我的樣品> 50號?

等。最後,您可能會在某個時間點結束,看看您的結果是否與地圖中的建議相匹配(即,我最終是否得到了更好的結果?)。如果是這樣,深入閱讀文檔,並問自己爲什麼一個分類器在文本數據或任何洞察力方面表現更好。

正如我告訴你,我們不知道你的數據的細節,但你應該可以問這樣的問題:什麼類型的數據我有(文本,二進制,...),多少樣本,需要預測多少類......所以理想情況下,您的數據會給您提供一些關於問題背景的提示,因此爲什麼有些評估者的表現要好於其他評估者。

但是,是的,你的問題是甚廣的單一的答案掌握(和特製不知道的問題,您正在處理的類型)。例如,您也可以檢查是否有任何這些方法更傾向於過度使用。

的建議清單可能是無止境的,這就是爲什麼我鼓勵你開始定義的你正在處理和數據問題的類型(加上樣品的數量,是歸?是它驅散?您是否使用稀疏矩陣表示文本,您的輸入是否從0.11到0.99浮動)。

無論如何,如果你想分享你的數據的一些細節,我們也許能夠更準確地回答。希望這有助於一點點,雖然;)

+0

謝謝,我已經添加了一些關於我的數據的更多細節。我確實遇到過你推薦的地圖,之前我沒有深入研究過,因爲我有很多數據,而地圖在確定路徑方面似乎在數據大小方面扮演着重要的角色。儘管如此,我會仔細考慮一下。在我看來,儘管在許多ML文章中,作者通常使用一堆ML分類器,如魚網,然後接受性能最高的分類器。所以我的問題不是確定正確的分類器,而是當我看到我的結果或其他人的結果時,我可以用不同的表現推導出什麼。 – KubiK888

+0

同樣在分類領域的地圖中,簡單的物流管理和決策管理不存在。我的線性SVC似乎「工作」,但我想明白爲什麼NB表現(我的數據是基於測試(?)數據的名稱)更差,我的數據或學習任務中的數據是什麼導致NB性能低下(雖然我在使用NB的類似研究中看到更好的性能)。 – KubiK888

+0

好吧,現在我明白你的關注。是的,我也會猜測(從您的問題更新中讀取)NB應該表現良好。那麼,實際上,它很大程度上依賴於如何對樣本進行編碼(你是否做了某種tf-idf?)。順便說一句,你想從名字中預測性別,還是僅僅是一個例子?因爲如果是這種情況,我不能避免嘗試建議一些與機器學習無關的東西,例如使用python中的sexmachine庫(https://pypi.python.org/pypi/SexMachine/)。如果你的問題更廣泛,或者你的目標是學術性的,就忘了我說的話;) –

相關問題