最近看見兩本書,《集體智慧程式設計》,《 社交網站的資料探勘與分析》,兩本書都是以Python語言來講解的,都是講的資料探勘方面的東西,其中後者還是2011年Jolt生產效率大獎獲獎圖書,難道Python很適合,做資料探勘嗎?
回覆列表
-
1 # 芋泥聊科技
最近看見兩本書,《集體智慧程式設計》,《 社交網站的資料探勘與分析》,兩本書都是以Python語言來講解的,都是講的資料探勘方面的東西,其中後者還是2011年Jolt生產效率大獎獲獎圖書,難道Python很適合,做資料探勘嗎?
python強調程式設計師的生產力,讓你把精力集中在邏輯上而不是語言本身上。你能想象用一下午時間實現從0開始一個簡單的搜尋引擎嗎?C++顯然是不行的。。你的大部分時間都將花在實現基本資料結構和除錯語言錯誤上。。而用python,你要做的就是真正理解搜尋演算法,之後的實現真的很簡單。。
我覺得用python很適合演算法研究,不僅僅是資料探勘。快速開發能讓你迅速驗證你的想法,而不是把時間浪費在程式本身上(想象一下你寫了一星期的c++,調了一大堆指標錯誤,最後發現想法本身就有錯誤。。)當你知道你已經有了一個正確的演算法,要使他執行速度提高只需用c++等重寫效能瓶頸並嵌入就行了。。
python強調程式設計師的生產力,讓你把精力集中在邏輯上而不是語言本身上。你能想象用一下午時間實現從0開始一個簡單的搜尋引擎嗎?C++顯然是不行的。。你的大部分時間都將花在實現基本資料結構和除錯語言錯誤上。。而用python,你要做的就是真正理解搜尋演算法,之後的實現真的很簡單。。
我覺得用python很適合演算法研究,不僅僅是資料探勘。快速開發能讓你迅速驗證你的想法,而不是把時間浪費在程式本身上(想象一下你寫了一星期的c++,調了一大堆指標錯誤,最後發現想法本身就有錯誤。。)當你知道你已經有了一個正確的演算法,要使他執行速度提高只需用c++等重寫效能瓶頸並嵌入就行了。。
如果你想用別人做好的成熟的輪子,那 python 是不二之選。因為 python 輪子多而且全,比如 numpy,scipy,scikit learn,gensim 等等都是成熟的輪子。至於什麼叫成熟,主要是一下兩點:1. 快,numpy 中大量用 c 寫的 data structure,和 function,用起來及其快,而且方便。而且和其他輪子協作及其好2. 安全,因為 python 是廣泛應用,而且開源,標準的語言,所以輪子是基本不會出 bug 的,放心用。這樣節省了及其多的開發時間,在程式的執行效率上也不會有極大的降低。
當然,如果你需要對其他人的輪子有很大的更改,甚至於從資料結構上 numpy 都沒法滿足你,或者你需要追求速度,比如像微軟,要帶那麼強大的東西,還要保證速度。那你也就必須要用 c 了。。。python實在太慢。。。