來源| AI開發者
大多數有抱負的數據科學家是通過學習面向開發者的編程課程開始了解python的,他們也開始在leetcode這樣的網站上解決python編程問題。他們認為在使用python分析數據之前,必須熟悉編程概念。
高級數據分析師Manu Jeevan認為這是壹個巨大的錯誤,因為數據科學家使用python來檢索、清理、可視化和建立數據的模型,而不是開發軟件應用程序。事實上,為了完成這些任務,妳必須將大部分時間集中在學習python中的模塊和庫上。他認為學習數據科學的正確姿勢應該如下,由AI開發者整理。
請按照以下步驟學習數據科學中的python。
配置編程環境
Jupyter Notebook是壹個強大的編程環境,用於開發和顯示數據科學項目。
在電腦上安裝Jupyter Notebook最簡單的方法是通過Anaconda。Anaconda是數據科學中使用最廣泛的python工具,它預裝了所有最流行的庫。
可以瀏覽名為《使用Anaconda發行版安裝Jupiter Notebook的初學者指南》(/better-programming/初學者-quick-Guide-for-handling-issues-launching-Jupiter-Notebook-for-python-Using-Anaconda-8be 3d 57 A 209 b)的博文,了解如何安裝Anaconda。安裝Anaconda時,請選擇最新的python 3版本。
安裝Anaconda後,請閱讀Code Academy的這篇文章(/articles/how-to-use-Jupiter-notebooks)來學習如何使用Jupyter Notebook。
只學習python的基礎知識。
Code Academy有壹門關於python的優秀課程,大概需要20個小時完成。不用升級到pro版本,因為妳的目標只是熟悉python編程語言的基礎知識。課程地址:/learn/learn-python-3
熊貓和熊貓,很好的學習資源。
Python在處理計算密集型算法和大量數據時速度很慢。妳可能會問,既然如此,為什麽python是數據科學中最流行的編程語言?
答案是,在python中,很容易將數字處理任務以C或Fortran擴展的形式轉移到底層。這正是NumPy和熊貓所做的。
首先妳要學NumPy。它是用python進行科學計算的最基本模塊。NumPy支持高度優化的多維數組,這是大多數機器學習算法最基本的數據結構。
接下來,妳應該學習熊貓。數據科學家大部分時間都在清理數據,也就是所謂的數據集成。
Pandas是最流行的處理數據的python庫。熊貓是熊貓的延伸。熊貓的底層代碼廣泛使用NumPy庫。熊貓的主要數據結構稱為數據幀。
熊貓的創造者Wes McKinney寫了壹本很棒的書叫《Python for Data Analysis》(《Python-Data-Analysis-Wrangling-Ipython-ebook/DP/b 075 x4 lt 6k》)。可以在4、5、7、8、10章節學習熊貓和NumPy。這些章節涵蓋了處理數據最常用的NumPy和Pandas特性。
學習使用Matplotlib可視化數據
Matplotlib是壹個基本的python包,用於創建基本的可視化圖形。妳必須學會如何使用Matplotlib創建壹些最常見的圖表,如折線圖、條形圖、散點圖、條形圖和塊圖。
另壹個基於Matplotlib並與熊貓緊密結合的好的繪圖庫是Seaborn。在這個階段,我建議妳快速學習如何在Matplotlib中創建基本圖表,而不是專註於Seaborn。
我寫過壹篇如何使用Matplotlib開發基本圖的教程,由四部分組成。
第壹部分:用Matplotlib繪制基本圖(/Analytics-vid hya/Programming-With-Databases-in-Python-Using-SQLite-4 cebef 51ab 9)。
在瀏覽以上博文之前,妳應該了解壹下SQL的基礎知識。有壹個很好的關於SQL的教程《模式分析:SQL簡介》(/Analytics-vid hya/Programming-With-Databases-in-Python-Using-SQLite-4 cebef 51ab 9)。通過他們的基礎SQL部分了解SQL的基礎知識,每個數據科學家都應該知道如何使用SQL有效地檢索數據。
學習python相關的基礎統計學。
大部分有誌的數據科學家都是不學統計學的基礎知識,直接跳入機器學習知識的學習。
不要犯這個錯誤,因為統計學是數據科學的支柱。而且很多數據科學家只研究理論概念,不研究實用概念。
我的意思是,通過實踐概念,妳應該知道統計可以解決什麽問題,利用統計可以解決什麽挑戰。
這裏有壹些妳應該知道的基本統計概念:
抽樣、頻率分布、平均值、中位數、眾數、變異性測量、概率基礎、顯著性檢驗、標準差、Z得分、置信區間和假設檢驗(包括A/B檢驗)。
要學習這些知識,有壹本好書可以讀:《數據科學家實用統計學:50個必備概念(/實用-統計-數據-科學家-必備/DP/9352135652)。不幸的是,這本書裏的代碼示例都是用R寫的,但是很多人,包括我自己,都用Python。
建議妳看看這本書的前四章。閱讀這本書的前四章來理解我前面提到的基本統計概念。您可以忽略代碼示例,只理解這些概念。這本書的其余部分側重於機器學習。我會在下壹節討論如何學習機器學習。
大多數人建議使用Think Stats(/Think-Stats-Allen-b-Downey/DP/1449 307116)來學習python的統計知識,但是這本書的作者並沒有使用標準的python庫來講解統計知識,而是教授了自己的自定義函數。所以,我不推薦這本書。
接下來,妳的目標是實現在Python中學到的基本概念。StatsModels是壹個流行的python庫,用於在python中構建統計模型。StatsModels網站提供了關於如何使用Python實現統計概念的優秀教程。
或者,可以看Ga?l Varoquaux的視頻。他向您展示了如何使用熊貓和統計模型進行推理和探索性統計。
使用Scikit-Learn的機器學習
Scikit-Learn是Python中最流行的機器學習庫之壹。您的目標是學習如何使用Scikit Learn實現壹些最常見的機器學習算法。
妳應該這樣做。
先在Coursera上看吳恩達的機器學習課程(/Hands-Machine-Learning-SCiKit-Learn-tensor flow/DP/149196291)。妳只需要瀏覽這本書的第壹部分(約300頁),這是最實用的機器學習書籍之壹。
通過完成本書中的編碼練習,妳將學會如何使用python來實現妳在吳恩達的課程中學到的理論概念。
結論
最後壹步是做壹個涵蓋以上所有步驟的數據科學項目。妳可以找到自己喜歡的數據集,然後提出感興趣的商業問題,再通過分析回答這些問題。但是,請不要選擇泰坦尼克號這樣的萬能數據集。可以閱讀“19為妳的數據科學項目尋找免費數據集的地方”找到合適的數據集(/scrap-Yahoo-finance-stock-market-data/)獲取實時數據,存儲在SQL數據庫中,然後利用機器學習來預測股票價格。
如果妳想從其他行業轉到數據科學,我建議妳完成壹個利用妳領域專長的項目。關於這些,在我之前的博文《將職業生涯過渡到數據科學的分步指南-第1部分》(/2019/05/Guide-transiting-career-data-science-part-1 . html)和《將職業生涯過渡到數據科學的分步指南-第2部分》(/2019/06/Guide-transiting-career-data-science-part-2 . html)中