成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

學習Python:做數(shù)據(jù)科學還是網(wǎng)站開發(fā)?

neu / 1252人閱讀

摘要:屬于前一種,而且日益被用于數(shù)學計算機器學習和多種數(shù)據(jù)科學應用。近來,由于擁有多個針對機器學習自然語言處理數(shù)據(jù)視覺化數(shù)據(jù)探索數(shù)據(jù)分析和數(shù)據(jù)挖掘的插件,豐富的數(shù)據(jù)科學生態(tài)體系得到了較大的發(fā)展,甚至有將數(shù)據(jù)科學社區(qū)化的趨勢。

譯者注:本文的英文原文地址是:Python for Data Science vs Python for Web Development,發(fā)布時間是10月29日。譯者一開始在Python日報上看到推薦,初步看看了,覺得對于決定學習Python的方向有一定參考價值。不過,在翻譯過程中,越來越覺得這其實就是一篇搞Python數(shù)據(jù)科學培訓的公司寫的軟文,里面寫的內(nèi)容還是比較淺的,只適合像我這樣的初學者了解大致情況。當然,文章提到了Python作為網(wǎng)絡開發(fā)技能的市場需求并不是很高,這點感覺并不是沒有根據(jù)。作為一篇軟文,它成功地激起了我學習數(shù)據(jù)科學的興趣,而原因嘛,自然就是做數(shù)據(jù)科學工作的工資比一般開發(fā)工作,高很多(按文章中信息圖的數(shù)據(jù),比一般崗位的年薪高5萬美刀!?。。?!

Python編程語言擁有諸多用于網(wǎng)絡應用開發(fā)、圖形用戶界面、數(shù)據(jù)分析、數(shù)據(jù)可視化等工作的框架和特性。Python可能不是網(wǎng)絡應用開發(fā)的理想選擇,但是正被很多機構廣泛用于評估大型數(shù)據(jù)集(dataset)、數(shù)據(jù)可視化、進行數(shù)據(jù)分析或制作原型。在數(shù)據(jù)科學領域,Python編程語言正不斷獲得用戶的親睞,而作為網(wǎng)絡開發(fā)語言,Python顯得有點過時了。本篇博文,就是要對這兩種截然不同的Python使用方式,進行詳細的對比,并且?guī)椭蠹颐靼滓稽c:如果要利用Python做數(shù)據(jù)科學工作,并沒有必要了解它用于網(wǎng)絡開發(fā)的部分。

面向數(shù)據(jù)科學的Python

從頂級金融機構到最小的大數(shù)據(jù)創(chuàng)業(yè)公司,各行各業(yè)、各種規(guī)模的機構都在使用Python編程語言支撐業(yè)務運作。Python作為數(shù)據(jù)科學編程語言,不僅受頂級大數(shù)據(jù)公司歡迎,還有眾多技術創(chuàng)業(yè)企業(yè)擁泵。它還位列2015推薦學習的前10種編程語言。

世上只有兩種編程語言:一種是總是被人罵的,一種是從來沒人用的。
-- Bjarne Stroustrup

Python屬于前一種,而且日益被用于數(shù)學計算、機器學習和多種數(shù)據(jù)科學應用。除了性能依賴性強和底層的業(yè)務外,它能夠做其他任何事情。利用Python編程語言的最好選擇,就是做數(shù)據(jù)分析和統(tǒng)計計算。學習面向網(wǎng)絡開發(fā)的Python,需要程序員掌握像Django這樣的多種網(wǎng)絡框架協(xié)助建設網(wǎng)站;但是學習面向數(shù)據(jù)科學的Python,則要求數(shù)據(jù)科學家學習如何使用正則表達式和科學計算庫,并掌握數(shù)據(jù)可視化的概念。由于目的、方向不同,那些不了解Python網(wǎng)絡開發(fā)的程序員,能很輕松地走上利用Python編程語言做數(shù)據(jù)科學工作的道路。

Python是一個有著23年歷史的強大動態(tài)編程語言,語言表現(xiàn)力很強。程序員編碼完成后,不需要編譯器即可運行程序。面向網(wǎng)絡開發(fā)的Python支持多種編程范式,包括結構化編程(structured programming)、函數(shù)式編程(functional programming)和面向對象編程(object-oriented programming, OOP)。Python代碼可以很容易地嵌入到許多擁有編程接口的網(wǎng)絡應用中。但是,Python更是開發(fā)學術研究和科學計算程序的絕佳選擇,這些程序要求運行快速、數(shù)學計算精確。

而面向網(wǎng)絡編程的Python,則要求程序員學習多種網(wǎng)絡開發(fā)框架,這個學習難度比較大,因為現(xiàn)有Python網(wǎng)絡開發(fā)框架的文檔不太容易理解。當然,不容否認的是,要想利用Python開發(fā)一個動態(tài)網(wǎng)站或網(wǎng)絡應用,學習網(wǎng)絡框架是必需的。

Python網(wǎng)絡開發(fā)框架

目前,Python社區(qū)已經(jīng)有多種免費的網(wǎng)絡應用開發(fā)框架,比如:

Django

Django是幫助完美主義者按時完成工作的Python網(wǎng)絡開發(fā)框架(譯者注:原文是Django is the python web development framework for perfectionists with deadlines。這也是Django官網(wǎng)上對該框架的描述)。使用Django進行網(wǎng)絡開發(fā),最適合的場景是開發(fā)那些依靠數(shù)據(jù)庫驅動,同時也具備類似自動化后臺管理界面和模板系統(tǒng)等炫酷功能的應用。對于不需要太多功能的網(wǎng)絡開發(fā)項目來說,Django可能是大材小用,主要是它的文件系統(tǒng)容易讓人搞混,而且文件目錄結構要求嚴格。使用Django進行Python網(wǎng)絡開發(fā)的公司有紐約時報、Instagram和Pinterest(譯者注:Pinterest聯(lián)合創(chuàng)始人Paul Sciarra在Quora上的回答提到了使用Django,Quora地址)。

Flask

Flask是針對初學者的框架,它簡單,輕量,初學者很快就可以上手開發(fā)單頁網(wǎng)絡應用。這個框架并不支持驗證,沒有數(shù)據(jù)抽象層和其他許多框架所包括的組件。它不是一個全棧開發(fā)框架,也只用于小型網(wǎng)站的開發(fā)。(譯者注:其實Pinterest也使用了Flask,只是沒用在整站開發(fā)上,而是用來開發(fā)API,具體見鏈接。)

CherryPy

CherryPy框架強調要符合Python語言規(guī)范,做到程序員像進行面向對象編程一樣開發(fā)網(wǎng)絡應用。它還是諸如TurboGears和Web2py等流行全??蚣艿幕A模板引擎。

還有很多其他框架,包括Pyramid、Bottle和Pylons等,但是無論Python開發(fā)者使用哪一種框架,他/她都要花精力仔細地研究教程和文檔。

為什么使用Python進行網(wǎng)絡開發(fā)不現(xiàn)實?

Python作為網(wǎng)絡開發(fā)語言,很可能是一個不太現(xiàn)實的選擇:

面向網(wǎng)絡開發(fā)的Python需要非標準化、昂貴的主機服務,尤其是程序員使用流行的Python網(wǎng)絡框架開發(fā)網(wǎng)站時。由于利用PHP進行網(wǎng)絡編程如此的便捷,大部分的用戶沒有興趣在Python上投入太多的精力。

面向網(wǎng)絡開發(fā)的Python與諸如PHP、Java或Ruby on Rails等語言不同,不是一個經(jīng)常需要的技能。但是面向數(shù)據(jù)科學的Python卻越來越受歡迎,而且由于它更多地被用于機器學習和其他數(shù)據(jù)科學程序,Python更是招聘數(shù)據(jù)科學家的公司所最看重的技能。

面向網(wǎng)絡開發(fā)的Python已經(jīng)經(jīng)歷了較長的發(fā)展,但是它的學習曲線并沒有像PHP這樣的網(wǎng)絡編程語言那么高。

為什么將Python用于數(shù)據(jù)科學是最好的選擇?

Python編程是驅動大數(shù)據(jù)、金融、統(tǒng)計和數(shù)字運算的核心科技,而它的語法卻像英語一樣易懂。近來,由于擁有多個針對機器學習、自然語言處理、數(shù)據(jù)視覺化、數(shù)據(jù)探索、數(shù)據(jù)分析和數(shù)據(jù)挖掘的插件,豐富的Python數(shù)據(jù)科學生態(tài)體系得到了較大的發(fā)展,甚至有將數(shù)據(jù)科學社區(qū)Python化的趨勢。今天,面向數(shù)據(jù)科學的Python已經(jīng)具備了清洗、轉換和處理大數(shù)據(jù)的所有工具。對于數(shù)據(jù)分析師崗位來說,掌握Python也是最受歡迎的技能。一名具備Python編程能力的數(shù)據(jù)科學家,可以在紐約掙到平均年薪14萬美元的工資。

為什么數(shù)據(jù)科學家喜歡使用Python語言?

數(shù)據(jù)科學家喜歡那些能夠快速輸出原型,幫助他們輕松地記錄下自己的想法和模型的編程環(huán)境。他們喜歡通過分析巨量的數(shù)據(jù)集,得出結論,完成工作。而Python編程語言則是開發(fā)數(shù)據(jù)科學應用的多面手,因為它能幫助數(shù)據(jù)科學家,以最短最優(yōu)的時間進行編碼、調試、運行并獲取結果,從而高效地完成工作。

一名技術嫻熟的企業(yè)數(shù)據(jù)科學家的真正價值,在于利用多種數(shù)據(jù)視覺化手段,向公司的不同利益相關者有效地傳遞數(shù)據(jù)模式和預測。否則,數(shù)據(jù)科學工作就是一場零和游戲。Python以其優(yōu)良特性,符合高強度科學計算的幾乎所有方面要求,這使得它成為在不同的數(shù)據(jù)科學應用之間進行編程的絕佳選擇,原因很簡單:開發(fā)人員僅用一種語言就可以完成開發(fā)和分析工作。面向數(shù)據(jù)科學的Python將企業(yè)業(yè)務的不同部分連接在一起,提供了一個數(shù)據(jù)分享和處理的直接媒介。

Python遵循統(tǒng)一的設計哲學,注重可用性、可讀性,對于數(shù)據(jù)科學的學習曲線也較低。

Python有很高的可擴展性,且與Matlab、Stata等語言相比,運行更加快速。

另外,Python生態(tài)系統(tǒng)中還在涌現(xiàn)出更多的數(shù)據(jù)視覺化庫,以及炫酷的應用編程結構,目的是使用圖形更好地展現(xiàn)數(shù)據(jù)分析的結果。Python社區(qū)有著諸如Sci-Kit learn、NumPy、Pandas、Statsmodel和SciPy等許多優(yōu)秀的數(shù)據(jù)分析庫。這些庫的數(shù)量還在不斷增長。

面向數(shù)據(jù)科學中數(shù)字處理與科學計算的Python編程

數(shù)據(jù)分析與Python編程語言十分契合。如果你決定要通過Python語言學習數(shù)據(jù)科學,那么你應該考慮的下一個問題,就是Python庫中有哪些是可以完成大部分的數(shù)據(jù)分析工作?接下來,我們給大家介紹全球的企業(yè)數(shù)據(jù)科學家都在使用的Python數(shù)據(jù)分析庫。

NumPy

Numpy是使用Python開發(fā)的高級(high level)工具的基礎。這個庫不能用于高級數(shù)據(jù)分析,但是深入理解Numpy中面向數(shù)組的計算,可以幫助數(shù)據(jù)科學家有效使用Pandas庫。

SciPy

SciPy主要用于科學計算,擁有許多不同的模塊,可用于特殊函數(shù)、圖像處理、插值法(interpolation)、線性代數(shù)、常微分方程(ODE)求解器以及其他多種用途。這個庫還可以與NumPy數(shù)組一起使用,實現(xiàn)許多高效的數(shù)學運算。

Pandas

Pandas是用于數(shù)據(jù)再加工最好的庫,因為它使得處理遺失的數(shù)據(jù)、自動數(shù)據(jù)對齊(data alignment)變得更加簡單,它還支持處理從不同的數(shù)據(jù)源收集而來的索引數(shù)據(jù)。

SciKit
這個流行的機器學習庫擁有多種回歸、分類和聚類算法,還支持gradient boosting、向量機、樸素貝葉斯模型和邏輯回歸。這個庫還被設計成能夠與NumPy和SciPy進行交互。

Matplotlib

這是一個二維繪圖庫,有著交互性很強的特性,生成的圖標可以放大、推移,并且能夠用于發(fā)行刊物印刷出版。而且,還支持多平臺的交互環(huán)境。

Matplotlib、NumPy和SciPy是科學計算的基礎。還有許多其他的Python庫,諸如用于網(wǎng)絡挖掘的Pattern,用于自然語言處理的NLTK,用于深度學習的Theano,用于爬取網(wǎng)絡的Scrappy,IPython,Statsmodels,Mlpy等。對于初學Python數(shù)據(jù)科學的人,他們需要很好地掌握上面提到的優(yōu)秀數(shù)據(jù)分析庫。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/44168.html

相關文章

  • 編程界的“頭牌”名媛:Python,14個與數(shù)據(jù)科學的“曖昧情事”

    摘要:安裝安裝用于數(shù)據(jù)科學的的最佳方法是使用發(fā)行版。但這只是展示了構建數(shù)據(jù)科學問題的不同方式中的機器學習這是一個重要的主題,機器學習正在風靡世界,是數(shù)據(jù)科學家工作的重要組成部分。 作為編程界的頭牌名媛,Python平易近人的態(tài)度和精明婉約的靈動深得各個大佬歡心。比如:人工智能、web開發(fā)、爬蟲、系統(tǒng)運維、數(shù)據(jù)分析與計算等等。這幾位風流多金的行業(yè)精英隨便哪個都能逆轉未來。 本文為你精心準備了一...

    Labradors 評論0 收藏0
  • SegmentFault 技術周刊 Vol.30 - 學習 Python一些神奇好玩的事情吧

    摘要:學習筆記七數(shù)學形態(tài)學關注的是圖像中的形狀,它提供了一些方法用于檢測形狀和改變形狀。學習筆記十一尺度不變特征變換,簡稱是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡明扼要地說明的編碼機制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來看這樣一個提問: pyth...

    lifesimple 評論0 收藏0
  • Keras之父:大多數(shù)深度學習論文都是垃圾,炒作AI危害很大

    摘要:問深度學習社區(qū)現(xiàn)在面臨的主要挑戰(zhàn)是什么答打擊炒作發(fā)展倫理意識獲得科學嚴謹性。深度學習簡直是科學的重災區(qū)。 Keras之父、谷歌大腦人工智能和深度學習研究員Fran?ois Chollet撰寫了一本深度學習Python教程實戰(zhàn)書籍《Python深度學習》,書中介紹了深度學習使用Python語言和強大Keras庫,詳實新穎。近日,F(xiàn)ran?ois Chollet接受了采訪,就深度學習到底是什么、...

    RyanHoo 評論0 收藏0
  • Python與R、Matlab的對比

    摘要:我們來看一下美國相關專業(yè)人員對兩者的對比,只是粗略而不精準的翻譯一下。小結其實在寫這篇文章之前,我就問過一下包括清華在內(nèi)的學校以及一些數(shù)學專業(yè)的學生,和還是占主流,但是經(jīng)過一番調查發(fā)現(xiàn)在美國在數(shù)據(jù)科學數(shù)學等方面好像漸成壓倒性的優(yōu)勢。 作為一枚程序員,想要研究Python編程語言與數(shù)學學習(教學)的結合,就不能不了解以及比對一下其他數(shù)學學習與應用的解決方案,比如R語言、Matlab等數(shù)學...

    yunhao 評論0 收藏0

發(fā)表評論

0條評論

neu

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<