Flask:Python系的輕量級Web框架。python
1. 網頁爬蟲工具集git
Scrapy | 推薦大牛pluskid早年的一篇文章:《Scrapy 輕鬆定製網絡爬蟲》github |
Beautiful Soup | 客觀的說,Beautifu Soup不徹底是一套爬蟲工具,須要配合urllib使用,而是一套HTML/XML數據分析,清洗和獲取工具。 |
Python-Goose | Goose最先是用Java寫得,後來用Scala重寫,是一個Scala項目。Python-Goose用Python重寫,依賴了Beautiful Soup。前段時間用過,感受很不錯,給定一個文章的URL, 獲取文章的標題和內容很方便 |
2. 文本處理web
NLTK — Natural Language Toolkit | 推薦2本書籍:算法 1. 官方的《Natural Language Processing with Python》,以介紹NLTK裏的功能用法爲主,同時附帶一些Python知識,同時國內陳濤同窗友情翻譯了一箇中文版,這裏能夠看到:推薦《用Python進行天然語言處理》中文翻譯-NLTK配套書;json 2. 《Python Text Processing with NLTK 2.0 Cookbook》,這本書要深刻一些,會涉及到NLTK的代碼結構,同時會介紹如何定製本身的語料和模型等,至關不錯網頁爬蟲 |
Pattern | Pattern由比利時安特衛普大學CLiPS實驗室出品,客觀的說,Pattern不只僅是一套文本處理工具,它更是一套web數據挖掘工具,囊括了數據抓取模塊(包括Google, Twitter, 維基百科的API,以及爬蟲和HTML分析器),文本處理模塊(詞性標註,情感分析等),機器學習模塊(VSM, 聚類,SVM)以及可視化模塊等,能夠說,Pattern的這一整套邏輯也是這篇文章的組織邏輯,不過這裏咱們暫且把Pattern放到文本處理部分。我我的主要使用的是它的英文處理模塊Pattern.en, 有不少很不錯的文本處理功能,包括基礎的tokenize, 詞性標註,句子切分,語法檢查,拼寫糾錯,情感分析,句法分析等,至關不錯。 |
TextBlob | TextBlob是一個頗有意思的Python文本處理工具包,它實際上是基於上面兩個Python工具包NLKT和Pattern作了封裝(TextBlob stands on the giant shoulders of NLTK and pattern, and plays nicely with both),同時提供了不少文本處理功能的接口,包括詞性標註,名詞短語提取,情感分析,文本分類,拼寫檢查等,甚至包括翻譯和語言檢測,不過這個是基於Google的API的,有調用次數限制。TextBlob相對比較年輕,有興趣的同窗能夠關注。 |
MBSP for Python | MBSP與Pattern同源,同出自比利時安特衛普大學CLiPS實驗室,提供了Word Tokenization, 句子切分,詞性標註,Chunking, Lemmatization,句法分析等基本的文本處理功能,感興趣的同窗能夠關注。 |
Gensim | Gensim是一個至關專業的主題模型Python工具包,不管是代碼仍是文檔,咱們曾經用《如何計算兩個文檔的類似度》介紹過Gensim的安裝和使用過程,這裏就很少說了。 |
langid.py | 語言檢測是一個頗有意思的話題,不過相對比較成熟,這方面的解決方案不少,也有不少不錯的開源工具包,不過對於Python來講,我使用過langid這個工具包,也很是願意推薦它。langid目前支持97種語言的檢測,提供了不少易用的功能,包括能夠啓動一個建議的server,經過json調用其API,可定製訓練本身的語言檢測模型等,能夠說是「麻雀雖小,五臟俱全」。 |
Jieba: 結巴中文分詞 | 終於能夠說一個國內的Python文本處理工具包了:結巴分詞,其功能包括支持三種分詞模式(精確模式、全模式、搜索引擎模式),支持繁體分詞,支持自定義詞典等,是目前一個很是不錯的Python中文分詞解決方案。 |
xTAS | 咱們組同事以前發佈了xTAS,也是基於python的text mining工具包,歡迎使用,連接:http://t.cn/RPbEZOW。看起來很不錯的樣子,回頭試用一下。 |
3. Python科學計算工具包數組
Numpy, Scipy, Matplotlib, iPython網絡
4. Python機器學習與數據挖掘工具包數據結構
scikit-learn |
大名鼎鼎的scikit-learn,scikit-learn是一個基於NumPy, SciPy, Matplotlib的開源機器學習工具包,主要涵蓋分類,迴歸和聚類算法,例如SVM, 邏輯迴歸,樸素貝葉斯,隨機森林,k-means等算法,代碼和文檔都很是不錯,在許多Python項目中都有應用。例如在咱們熟悉的NLTK中,分類器方面就有專門針對scikit-learn的接口,能夠調用scikit-learn的分類算法以及訓練數據來訓練分類器模型。這裏推薦一個視頻,也是我早期遇到scikit-learn的時候推薦過的:推薦一個Python機器學習工具包Scikit-learn以及相關視頻–Tutorial: scikit-learn – Machine Learning in Python
官方主頁:http://scikit-learn.org/
|
Pandas |
Pandas也是基於NumPy和Matplotlib開發的,主要用於數據分析和數據可視化,它的數據結構DataFrame和R語言裏的data.frame很像,特別是對於時間序列數據有本身的一套分析機制,很是不錯。這裏推薦一本書《Python for Data Analysis》,做者是Pandas的主力開發,依次介紹了iPython, NumPy, Pandas裏的相關功能,數據可視化,數據清洗和加工,時間數據處理等,案例包括金融股票數據挖掘等,至關不錯。
官方主頁:http://pandas.pydata.org/
|
MLPY | 官方主頁:http://mlpy.sourceforge.net/ |
MDP |
MDP用於數據處理的模塊化工具包,一個Python數據處理框架。 從用戶的觀點,MDP是可以被整合到數據處理序列和更復雜的前饋網絡結構的一批監督學習和非監督學習算法和其餘數據處理單元。計算依照速度和內存需求而高效的執行。從科學開發者的觀點,MDP是一個模塊框架,它可以被容易地擴展。新算法的實現是容易且直觀的。新實現的單元而後被自動地與程序庫的其他部件進行整合。MDP在神經科學的理論研究背景下被編寫,可是它已經被設計爲在使用可訓練數據處理算法的任何狀況中都是有用的。其站在用戶一邊的簡單性,各類不一樣的隨時可用的算法,及應用單元的可重用性,使得它也是一個有用的教學工具。」
官方主頁:http://mdp-toolkit.sourceforge.net/
|
PyBrain |
PyBrain(Python-Based Reinforcement Learning, Artificial Intelligence and Neural Network)是Python的一個機器學習模塊,它的目標是爲機器學習任務提供靈活、易應、強大的機器學習算法。(這名字很霸氣)
PyBrain正如其名,包括神經網絡、強化學習(及兩者結合)、無監督學習、進化算法。由於目前的許多問題須要處理連續態和行爲空間,必須使用函數逼近(如神經網絡)以應對高維數據。PyBrain以神經網絡爲核心,全部的訓練方法都以神經網絡爲一個實例。」
官方主頁:http://www.pybrain.org/
|
PyML | 「PyML是一個Python機器學習工具包,爲各分類和迴歸方法提供靈活的架構。它主要提供特徵選擇、模型選擇、組合分類器、分類評估等功能。」 |
Milk | Machine learning toolkit in Python. 「Milk是Python的一個機器學習工具箱,其重點是提供監督分類法與幾種有效的分類分析:SVMs(基於libsvm),K-NN,隨機森林經濟和決策樹。它還能夠進行特徵選擇。這些分類能夠在許多方面相結合,造成不一樣的分類系統。對於無監督學習,它提供K-means和affinity propagation聚類算法。」
官方主頁:http://luispedro.org/software/milk
http://luispedro.org/software/milk
|
PyMVPA | MultiVariate Pattern Analysis (MVPA) in Python
「PyMVPA(Multivariate Pattern Analysis in Python)是爲大數據集提供統計學習分析的Python工具包,它提供了一個靈活可擴展的框架。它提供的功能有分類、迴歸、特徵選擇、數據導入導出、可視化等」
官方主頁:http://www.pymvpa.org/
|
Pyrallel | Parallel Data Analytics in Python
「Pyrallel(Parallel Data Analytics in Python)基於分佈式計算模式的機器學習和半交互式的試驗項目,可在小型集羣上運行」
Github代碼頁:http://github.com/pydata/pyrallel
|
Monte | gradient based learning in Python
「Monte (machine learning in pure Python)是一個純Python機器學習庫。它能夠迅速構建神經網絡、條件隨機場、邏輯迴歸等模型,使用inline-C優化,極易使用和擴展。」
官方主頁:http://montepython.sourceforge.net
|
Theano | 「Theano 是一個 Python 庫,用來定義、優化和模擬數學表達式計算,用於高效的解決多維數組的計算問題。Theano的特色:緊密集成Numpy;高效的數據密集型GPU計算;高效的符號微分運算;高速和穩定的優化;動態生成c代碼;普遍的單元測試和自我驗證。自2007年以來,Theano已被普遍應用於科學運算。theano使得構建深度學習模型更加容易,能夠快速實現多種模型。PS:Theano,一位希臘美女,Croton最有權勢的Milo的女兒,後來成爲了畢達哥拉斯的老婆。 |
Pylearn2 |
「Pylearn2創建在theano上,部分依賴scikit-learn上,目前Pylearn2正處於開發中,將能夠處理向量、圖像、視頻等數據,提供MLP、RBM、SDA等深度學習模型。」
官方主頁:http://deeplearning.net/software/pylearn2/
|