python + 機器學習 + 爬蟲__python

來源:互聯網
上載者:User
Python在這方面的package非常齊全:

網頁爬蟲: scrapy(不太清楚)
資料採礦: numpy, scipy, matplotlib, pandas(頭三個是業界標準,第四個類比R)
機器學習: scikit-learn, libsvm(極好)
自然語言處理: nltk(極好)


python強調程式員的生產力,讓你把精力集中在邏輯上而不是語言本身上。
你能想象用一下午時間實現從0開始一個簡單的搜尋引擎嗎。C++顯然是不行的。。你的大部分時間都將花在實現基本資料結構和調試語言錯誤上。。而用python,你要做的就是真正理解搜尋演算法,之後的實現真的很簡單。。

我覺得用python很適合演算法研究,不僅僅是資料採礦。快速開發能讓你迅速驗證你的想法,而不是把時間浪費在程式本身上(想象一下你寫了一星期的c++,調了一大堆積指標錯誤,最後發現想法本身就有錯誤。。)當你知道你已經有了一個正確的演算法,要使他運行速度提高只需用c++等重寫效能瓶頸並嵌入就行了。。

Links:
Scipy Stack(http://www.scipy.org/getting-started.html) - general tasks
Spark(http://spark.apache.org/docs/latest/index.html) - going large
Tensorflow(http://www.tensorflow.org/) - going deep GitHub - jupyter/docker-stacks: Opinionated stacks of ready-to-run Jupyter applications in Docker.


Python的快速迭代能力讓它收到青睞。

1)爬蟲Scrapy,簡單易用。用rq-queue結合的話很容易構造一個分布式的爬蟲。我曾經這樣爬下了整個豆瓣的好友關係圖。
2)資料採礦裡常用的演算法python裡都有實現。肖智博提到的scikit learn可謂翹楚。不僅文檔清晰,且幾乎需要常用的演算法均有實現。我們用scikit learn做了一個evemt detection的系統。整個系統用python寫成,機器學習部分用python
3)nlp部分不是特別瞭解。nltk很普遍的被很多大學課程用到。

企業裡:
據我所知公司裡的使用方式

google:爬蟲C++,資料採礦C++,nlp C++。python用來處理資料。
twitter:所有服務均用java和scala,python用來寫快速迭代的工具。比如說做搜尋引擎的演算法的同事寫了一個python用戶端用於自我裝載搜尋品質,我自己用py寫好了一個搜尋字詞推薦系統,包括介面,演算法和介面,通過測試後改寫成java。

網頁抓取:
python網頁抓取功能十分強大,眾多的標準庫,簡潔易上手,多種方法均可實現。
用Python做網頁抓取與解析入門筆記
我曾經做過urllib2+beautifulsoup、Xpath和scrapy三種的。前兩個可以藉助mongodb資料庫能很好地抓取、解析並儲存。scrapy能夠輸出json檔案。ps:中文編碼比較頭疼。
資料採礦:
Python 是一門適合做資料採礦的語言嗎。
機器學習:
推薦一本書《機器學習實戰》,非常棒。python代碼簡單優雅,易於上手,科學計算軟體包眾多。高效可複用的python是一個不錯的選擇。
自然語言處理:
NLTK目前已經發展超過十年,擁有超過十萬行的代碼。但是在中文處理上並沒有很完整的發展。推薦《python自然語言處理》。python提供了較多的工具和技術。中文研究真的很少,希望更多的人能夠將自己研究的東西放出來給予參考,不像現在搜尋一下全是《python自然語言處理》書上的內容。
python的nltk中文使用和學習資料匯總幫你入門提高

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.