您好,登錄后才能下訂單哦!
君子生非異也,善假于物也。
“物”能夠延展英雄的能力。它是呂布的赤兔馬,楊過的玄鐵重劍,CS中的沙漠之。鷹,曹操傳中的鳳凰羽衣。“物”也可用以治愈英雄,例如張無忌的黑玉斷續(xù)膏,李逍遙的天香續(xù)命露,還有深夜里TVB的一碗面。
對于不同的位面,有著不同的寶物定義。對古時文人來講,筆墨紙硯,是當(dāng)時具有生產(chǎn)力輸出的四大工具。對程序員來講,當(dāng)代的“文房四寶”不外乎是:筆 記本,大屏幕,機(jī)械鍵盤,人體工學(xué)椅,Google,Github這幾種。特別是機(jī)械鍵盤和人體工學(xué)椅,它們是極為重要的“人機(jī)接口”。前者可以用來延展 英雄的輸出能力,后者可以用來治愈英雄的腰椎。
在數(shù)據(jù)領(lǐng)域也有類似的情況。一個數(shù)據(jù)項(xiàng)目,最重要的是定義問題,其次是拿到好的數(shù)據(jù),再次是找到合適的方法,最不重要的可能就是選擇一個工具了。但是看起來最形而下的工具,卻是最具體而真實(shí)的“人數(shù)接口”。用一種順手的工具來玩數(shù)據(jù),我們會覺得比較舒服,輸出效率更高。
市面上的分析工具大致分為兩大類,菜單式的工具和命令行式的工具。前者適合于初學(xué)入門,類似于跟團(tuán)旅游,提供了固定的路線。分析套路比較固定化,點(diǎn) 幾下鼠標(biāo)就可以搞定也很省事。后者適合于老手玩家,類似于自由行,需要自己規(guī)劃數(shù)據(jù)工作流,適用于自定義的靈活分析。大多數(shù)用戶害怕命令行,然而使用命令 行才能掌握真正的力量。命令行是Jedi的原力。
在命令行工具類別中,最耀眼的是R和Python這對雙星。他們有非常多的相似之處,第一個相似之處是“快”。這種快不是純計算速度快,而是從想法 到結(jié)果的快。因?yàn)椴徽撌翘剿鲾?shù)據(jù)還是建模,都需要各種嘗試各種試錯各種踩坑,如果要花2小時寫代碼,跑1分鐘,不如花1分鐘寫程序,跑1小時。因?yàn)槿说臅r 間總是更為寶貴。第二個相似之處是擴(kuò)展豐富。即有大量現(xiàn)成的函數(shù)模塊。從想法到結(jié)果的快速實(shí)現(xiàn),不能等待重新造輪子,另一方面,試錯也要做很多復(fù)雜的自定 義任務(wù),將各種模塊進(jìn)行組合,調(diào)用各種外部交互接口,這兩種開源工具都非常擅長。
二者的差異點(diǎn)在于Python是一種通用型編程工具,R專注于數(shù)據(jù)領(lǐng)域;R有更為豐富的專業(yè)統(tǒng)計函數(shù),Python則長于機(jī)器學(xué)習(xí);R有更好的可視 化包,Python正在快速追趕;Python和R的核心語法非常簡潔,一些R包的語法則兼收并蓄,錯綜復(fù)雜。當(dāng)你有時間的時候,雙修是最好的選擇。因?yàn)?這兩種工具類似于筷子和勺子的區(qū)別,在不同場景下使用某種工具更為有效。
R語言這個工具與其生態(tài)系統(tǒng),在統(tǒng)計之都上已經(jīng)介紹得非常多了。下文簡單介紹一下python的七個最為重要的數(shù)據(jù)分析模塊,或者稱之為七種武器。
Numpy是Python提供數(shù)值計算的基礎(chǔ)模塊,也是Python生態(tài)中歷史最為悠久的模塊,可稱得上“長生”二字。如果沒有這柄長生劍,就沒有 辦法做快速高效的向量化計算。它還提供了線性代數(shù)等高級矩陣運(yùn)算功能,另外還能集成C的代碼,讓你出劍更加的快。Python的許多擴(kuò)展模塊都是基于 Numpy開發(fā)的,所以學(xué)好Numpy就算是奠定好了根基。
SciPy是基于Numpy開發(fā)的高級模塊,它用于解決科學(xué)計算中的一些標(biāo)準(zhǔn)問題。例如數(shù)值積分和微分方程求解,擴(kuò)展的矩陣計算,最優(yōu)化,概率分布和統(tǒng)計函數(shù),甚至包括信號處理。練習(xí)好碧玉刀和長生劍,就足以解決常見的計算問題,并不需要自己哼哧哼哧造輪子寫函數(shù)了。
孔雀的尾羽聚合了世間所有的色彩,做數(shù)據(jù)研究同樣需要漂亮的可視化工具。Matplotlib是python下最著名的繪圖庫,提供了一整套和 Matlab相似的API,十分適合交互式繪圖。也可將它作為繪圖控件,嵌入各種應(yīng)用程序中。在其基礎(chǔ)之上,還有更為有趣的繪圖工具Seaborn和 Bokeh。
在數(shù)據(jù)整理階段,我們經(jīng)常需要連接讀定不同類型的數(shù)據(jù)源,處理不同格式的數(shù)據(jù)對象,如果只使用Numpy會很麻煩。Pandas使Python具備 了類似R的數(shù)據(jù)框?qū)ο?。這樣方便用于真實(shí)江湖的數(shù)據(jù)處理和分析,它提供大量易用、高效的數(shù)據(jù)操作函數(shù)庫,能執(zhí)行join以及其他SQL類似的功能來重塑數(shù) 據(jù),支持各種格式的輸入輸出數(shù)據(jù)。它與Python生態(tài)中的其它模塊也有很好的整合,多情環(huán)名不虛傳。
Statsmodels是python中專門用于統(tǒng)計分析的模塊,提供各種回歸模型函數(shù),包括廣義回歸和穩(wěn)健回歸,還提供大量時間序列分析函數(shù),例如ARIMA/VAR,各種經(jīng)典假設(shè)檢驗(yàn)和非參數(shù)方法一個都不少。有了離別鉤,你可以隨時和R說離別。
Scikit-learn是非常著名的機(jī)器學(xué)習(xí)庫,它提供一個統(tǒng)一的接口來使用不同模型,有助于迅速地在數(shù)據(jù)集上應(yīng)用流行的算法。它包含了許多用于 標(biāo)準(zhǔn)機(jī)器學(xué)習(xí)任務(wù)的工具,例如聚類、分類和回歸等。不僅是各種算法,機(jī)器學(xué)習(xí)中重要的特征選擇和模型評估均在模塊中包含了。值得一提的另一個模塊 gensim:提供了詞向量、主題模型等函數(shù)。有了這兩種模塊,天下就絕沒有不能解決的事。
古龍并未寫完最后的第七種武器,通常會將《英雄無淚》中的一口箱子作為最為神秘最為強(qiáng)悍的終級武器。在Python生態(tài)中,一口箱子只能屬于 TensorFlow。它作為名門大派出品的深度學(xué)習(xí)框架,一出世就備受矚目。TensorFlow提供了C++和python兩種接口,讓你能高效的設(shè) 計各種機(jī)器學(xué)習(xí)算法,并且能運(yùn)行在各類硬件架構(gòu)之上。此外還有各種強(qiáng)力組件搭配,TensorBoard用于監(jiān)控學(xué)習(xí)過程中的各項(xiàng)參 數(shù),TensorServer可用于生產(chǎn)環(huán)境的模型部署,甚至傳說還有TPU這種專門用于深度學(xué)習(xí)的芯片。
在數(shù)據(jù)江湖中,沒有順手的武器,英雄亦束手加班中。七種武器雖強(qiáng),但器物總是死的,更重要的是從器物的把玩中,能領(lǐng)悟到運(yùn)用之妙,數(shù)據(jù)之道。一件武 器是否能令讀者覺得神奇有價值,主要還是得看使用它的是什么人。有赤兔的呂布沒有看到明天,沒有玄鐵重劍的楊過卻有更進(jìn)一步的修煉。
江湖路遠(yuǎn),少俠們一路走好。
大家在學(xué)python的時候肯定會遇到很多難題,以及對于新技術(shù)的追求,這里推薦一下我們的Python學(xué)習(xí)扣qun:784758214,這里是python學(xué)習(xí)者聚集地??!同時,自己是一名高級python開發(fā)工程師,從基礎(chǔ)的python腳本到web開發(fā)、爬蟲、django、數(shù)據(jù)挖掘等,零基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)的資料都有整理。送給每一位python的小伙伴!每日分享一些學(xué)習(xí)的方法。和需要注意的小細(xì)節(jié)
點(diǎn)擊: python技術(shù)分享交流
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。