2009-08-17 194 views
76

在Python中是否有推薦的機器學習包?我有以前在C++和MATLAB中實現各種機器學習和統計算法的經驗,但在Python中完成了一些工作,我對Python的可用包感到好奇。在Python中是否有推薦的機器學習包?

+2

可能相關: http://stackoverflow.com/questions/1605854/what-is-the-best-artificial-library-for-python http://stackoverflow.com/questions/1798091/artificial -intelgence-library-in-python – sastanin 2009-12-27 16:21:49

+4

@ will,below:you are wrong ...沒有違法,關閉此項目的決定既不具有建設性也不有用。 – lmsasu 2012-02-10 13:38:57

+0

@lmsasu:沒有冒犯。如果我是社區,可以投票重新開放。或者更直接的行動是請求在Meta上重新開放。然而,我不認爲它會得到任何結果,因爲阻止這樣的問題一直是一個長期的做法(當然,只要問題已經出現,當然,但你明白)。主要由非現場鏈接回答的列表/自行車/購物問題現在幾乎立即關閉。 – Will 2012-02-10 14:08:39

回答

2

我不確定你是否確切地稱這臺機器學習,但nltk package貝葉斯風格的文本分類。您可以使用學習數據和測試數據來查看它是推斷有關數據的規則。

+0

NLTK對文本挖掘更有用。 – riza 2009-08-18 04:29:52

10

一般的用戶友好包是Orange - 有點像Weka或RapidMiner,如果你熟悉這些包的話。

除此之外,還有各種各樣的包和工具包用於各種任務。您應該參考mloss上列出的Python包作爲起點。

5

對於支持向量機,看看LibSVM,其中包括Python接口。

4

我給Orange一試。

它功能強大,但如果你仔細閱讀文檔,你會意識到作者有自己瘋狂的Python編寫風格。如果你對Python比較陌生,他的代碼確實會變得很神祕,所以除非你熟悉Python,否則我不會推薦Orange。

0

如果您正在尋找神經網絡,蟒蛇爲fann結合是很容易使用,並配有工具來訓練你的網絡

94

還有scikit-learn(BSD,只依賴於numpy & scipy)。它包括各種監督學習算法,例如:基於libsvm的和線性與scipy.sparse綁定寬特徵的數據集

  • 貝葉斯方法
  • 的HMM
  • L1和L1 + L2正規化迴歸方法

    • SVM又名Lasso和Elastic Net模型,用LARS和座標下降算法實現

    它還具有無監督聚類算法,如:

    • k均值++
    • 均值漂移
    • 親和力傳播
    • 譜聚類

    以及其他工具如:

    • 文本內容特徵提取器(令牌和焦炭n元語法+哈希矢量化器)
    • 單變量功能選擇
    • 一個簡單的管道工具
    • 的交叉驗證策略,大量的實現
    • 性能指標評測和ploting(ROC曲線,AUC,混淆矩陣,...)
    • 網格搜索工具使用並行交叉驗證執行超參數調整
    • 與joblib集成以在交互環境中工作時緩存部分結果(例如,使用ipython)

    每個算法的實現都附帶sample programs,演示其在玩具數據或真實生活數據集上的用法。

    另外,官方的源代碼庫是hosted on github,所以請隨時用交互式代碼審查的常規拉取請求功能來貢獻錯誤修正和改進。

  • 0

    SVMlight有時是LibSVM的方便替代品!不過,LibSVM也很棒。