標籤:面向 時間 Regex 有趣 圖形介面 list c++ ali 電子郵件
人生苦短,我用Python(轉)
Python的特色
1.簡單 2.易學 3.免費、開源 4.高層語言: 封裝記憶體管理等 5.可移植性: 程式如果避免使用依賴於系統的特性,那麼無需修改就可以在任何平台上運行 6.解釋性: 直接從原始碼運行程式,不再需要擔心如何編譯器,使得程式更加易於移植。 7.物件導向: 支援面向過程的編程也支援物件導向的編程。 8.可擴充性: 需要保密或者高效的代碼,可以用C或C++編寫,然後在Python程式中使用它們。 9.可嵌入性: 可以把Python嵌入C/C++程式,從而向你的程式使用者提供指令碼功能。 10.豐富的庫: 包括Regex、文檔產生、單元測試、線程、資料庫、網頁瀏覽器、CGI、FTP、 電子郵件、XML、XML-RPC、HTML、WAV檔案、密碼系統、GUI(圖形化使用者介面)、Tk和其他與系統有關的操作。 除了標準庫以外,還有許多其他高品質的庫,如wxPython、Twisted和Python映像庫等等。 11.概括: Python確實是一種十分精彩又強大的語言。它合理地結合了高效能與使得編寫程式簡單有趣的特色。 12.規範的代碼: Python採用強制縮排的方式使得代碼具有極佳的可讀性。
Python在大資料時代
讓我們來看看,Python在資料分析領域的生態圈吧!
基礎庫
Numpy:矩陣計算與其它大多數架構的資料處理基礎;
Scipy:科學計算庫,提供了很多科學計算工具包和演算法;
Matplotlab:專業畫圖工具,話說這個單詞還是真是在Matlab之間插入了plot這個詞形成的;
Pandas:提供類似於R語言的DataFrame操作,非常方便;
機器學習與深度學習
OpenCV:提供Image Recognition的很多方便的操作;
Orange:基於圖形介面的機器學習程式,也可以用Python指令碼來操作調用;
Scikit-Learn:前面說了,這是Python在機器學習領域裡面的代表作。尤其是它的文檔,完全可以當成機器學習的參考資料來閱讀了,曾經我向朋友推薦的時候說,說過,把scikit-learn的文檔當成佛經來讀,假以時日,功力定會大增。
Theano:深度學習裡面非常有名的一個架構了,也非常具有代表性。是其它很多架構的基礎。
Keras:基於Theano進行了抽象,建議入門的話使用這個,搭積木一樣地就可以弄個神經網路出來了。
NLTK:自然語言處理,提供的功能也很強大。
國內出品的Mxnet的Python介面
分布式機器學習與深度學習
Spark之MLlib的Python介面Pyspark
H2o的Python介面
收費的Graph Create的Python介面
Google最近剛出的TensorFlow的Python介面
三星最近剛出的Veles,目前只提供Python介面
新的機器學習或深度學習架構,如果不提供Python介面的話,恐怕會難以推廣吧。
上面列舉的只是其中一部分,還有很多很多。當然,他們很多並非是用Python來實現,但都共同的提供了Python介面,甚至好幾個都把Python當成了頭等公民(First-Class)。
在此並非想說Python這門語言很強大或者複雜,而恰恰相反,得益於Python的簡潔和包容。才讓它在資料採礦領域有如此的地位。
這便是生態圈的力量,不以個人的意志為轉移。
對於想入門資料分析、資料採礦、機器學習的朋友來說,Python是你值得花時間的選擇。因為,除了上面的工具鏈生態圈,還有書籍和知識傳播的生態圈。
人生苦短,我用Python