100天學習計劃 | 一份詳實的數據科學指南
本文轉自雷鋒網,如需轉載請至雷鋒網官網申請授權。
你是否對學習數據科學感興趣,但不知道從哪里開始?如果是,那你來對地方了。
我遇到過許多對學習數據科學充滿熱情的人,但僅僅幾周后,他們就放棄了學習。我想知道為什么一個人對一個領域如此熱情卻不去追求它?通過與他們中的一些人交談,我了解到人們放棄學習的主要原因是:
-
為了成為一名數據科學家,他們要學習的課題太多了
-
他們遇到的領路人說,要成為數據科學家,必須是一個有才華的程序員、數學專家、應用統計學大師,并且非常熟練地使用panda、NumPy和其他python庫。
這些甚至會嚇到一個有經驗的數據科學家,難怪他們會讓試圖學習數據科學的人放棄。上面的每一個話題就像一片海洋,當有人試圖快速掌握它們時,他們會感到沮喪并放棄學習。真正的事實是,要想成為一名成功的數據科學家或成為一名數據科學家,你甚至需要掌握更多。
如何學習數據科學
要成為一名數據科學家,你需要從以下條目中學到足夠多的知識:
-
Python或R編程的基礎知識
-
如果選擇Python,那么像panda和Numpy這樣的庫
-
可視化庫,如ggplot、Seaborn和Plotly。
-
統計數據
-
SQL編程
-
數學,尤指線性代數和微積分
在下面的視頻中,我提到了學習數據科學的分步指南。我已經解釋了達到數據科學不同專業水平所需的知識深度。
https://youtu.be/5zec-qxfMvg
如何計劃學習?哪些主題應該首先涉及?
讓我來解釋一下100天學習數據科學的計劃。下面是使用Python學習數據科學的逐日計劃,該計劃跨度為100天,每天至少需要花費一個小時
第一天:安裝工具
只要確保安裝了所需的工具,并且您對接下來幾周/幾個月將要使用的工具感到舒適即可。如果選擇Python則安裝Anaconda,其中還會安裝IDEs Jupyter筆記本和Spyder。如果你選擇' R ',然后安裝RStudio。試著在IDE中玩一玩,并熟練地使用它。比如,嘗試理解包/庫的安裝、執行部分代碼、清理內存等等。
第2天到第7天:數據科學的基礎編程
下一步是學習基本的編程,下面是一些應該學習的主題:
-
創建變量
-
字符串數據類型和通常在字符串數據類型上執行的操作
-
數值數據類型、布爾值和運算符
-
集合數據類型列表、元組、集合和字典——理解它們之間的唯一性和差異非常重要。
-
If-Then-Else條件,For循環和While循環實現
-
函數和Lambda函數-它們各自的優點和區別
第8天到第17天: Pandas 庫
了解 Pandas 庫,在 Pandas 中需要了解的一些主題是:
-
創建數據幀,從文件讀取數據,并將數據幀寫入文件
-
從數據框架中索引和選擇數據
-
迭代和排序
-
聚合和分組
-
缺失值和缺失值的處理
-
Pandas 的重命名和替換
-
在數據幀中連接、合并和連接
-
總結分析,交叉表格,和樞軸
-
數據,分類和稀疏數據
花10天時間徹底學習以上主題,因為這些主題在執行探索性數據分析時非常有用。在介紹這些主題時,請嘗試深入粒度細節,比如理解合并和連接、交叉表和樞軸之間的差異,這樣不僅可以了解它們中的每一個,還可以知道在何時和何處使用它們。
我為什么要學 Pandas?如果您從事任何數據科學項目,它們總是從探索性數據分析開始,以便更好地理解數據,而您在 Pandas 中介紹的這些主題將會派上用場。另外,因為Pandas有助于從不同的來源和格式讀取數據,所以它們速度快、效率高,還提供了對數據集執行各種操作的簡單功能。
第18天到第22天:Numpy Library
學會 Pandas 之后,下一個需要學習的重要庫是Numpy。學習Numpy的原因是與List相比它們非常快。在Numpy中要涉及的主題包括:
-
數組的創建
-
索引和切片
-
數據類型
-
連接與分離
-
搜索和排序
-
過濾所需的數據元素
為什么學習Numpy很重要?Numpy能夠以快速和高效的方式對數據執行科學操作。它支持機器學習算法中常用的高效矩陣運算,panda庫也廣泛使用了Numpy。
第23天到第25天:可視化
現在,我們需要花一些時間來理解和使用一些關鍵的可視化庫,比如ggplot、Plotly和Seaborn。使用示例數據集并嘗試不同的可視化,如柱狀圖、線形/趨勢圖、盒狀圖、散點圖、熱圖、餅狀圖、柱狀圖、氣泡圖和其他有趣的或交互式可視化。
數據科學項目的關鍵是與涉眾交流洞察力,而可視化是實現這一目的的很好的工具。
第26天到第35天:統計、實現和用例
下一個要討論的重要主題是統計學,探索常用的描述性統計技術,如平均值、中位數、眾數、范圍分析、標準差和方差。
然后介紹一些更深層次的技術,比如識別數據集中的異常值和測量誤差范圍。
作為探索各種統計測試(如下所示)的最后一步,了解這些統計測試在現實生活中的應用:
-
F-test
-
ANOVA
-
卡方測試
-
T-Test
-
Z-Test
第36天到第40天:用于數據分析的SQL
現在是學習SQL的時候了,這很重要,因為在大多數企業用例中,數據將存儲在數據庫中,了解SQL將極大地幫助從系統中查詢所需的數據進行分析。
您可以先安裝一個開源數據庫,比如MySQL,它會附帶一些默認數據庫,只需要處理數據并學習SQL。如果你能集中學習以下內容,那就太好了:
-
從表中選擇數據
-
基于鍵連接來自不同表的數據
-
對數據執行分組和聚合功能
-
使用case語句和篩選條件
第41 - 50天:探索性數據分析(EDA)
在任何數據科學項目中,大約80%的時間用于此活動,因此最好花時間徹底學習此主題。為了學習探索性數據分析,這里不涉及一組特定的功能或主題,但是數據集和用例將驅動分析。因此,最好使用一些來自kaggle中主辦的比賽的樣本數據集,學習如何執行探索性分析。
學習探索性數據分析的另一種方法是編寫關于數據集的問題,并嘗試從數據集為它們找到答案。比如,如果我考慮最受歡迎的泰坦尼克號數據集,然后嘗試尋找問題的答案,比如哪種性別/年齡/甲板的人有更高的死亡概率等等。你進行全面分析的能力會隨著時間的推移而提高,所以要有耐心,慢慢地自信地學習。
到目前為止,您已經學習了數據科學家所需的所有核心技能,現在可以學習算法了。
數學怎么了?
是的,了解線性代數和微積分是重要的,但我寧愿不花時間學習數學概念,但當他們需要,你可以參考和溫習你的技能,高中水平的數學將是足夠的。例如,假設你正在學習梯度下降法在學習算法的同時你可以花時間學習它背后的數學知識。 因為如果你開始學習數學中的重要概念,那么它可能是非常耗時的,而且通過在需要的時候學習,你會學到足夠的時間所需要的東西,但是如果你開始學習數學中的所有概念,那么你將會花費更多的時間,學到的東西將遠遠超過所需要的。
第51天到第70天:監督學習和項目實施
在開始的10天里,學習一些關鍵的算法,理解它們背后的數學原理,然后在接下來的10天里,專注于通過開發一個項目來學習。這節課要講的一些算法有:
-
線性回歸和邏輯回歸
-
決策樹/隨機森林
-
支持向量機(SVM)
在最初的10天里,重點應該是理解你所選擇的算法背后的理論。然后花些時間了解每個算法比其他算法更適合的場景,比如當數據集中有很多分類屬性時,決策樹是最好的。
然后選擇一個解決的例子在Kaggle,你將能夠找到大量解決的例子嘗試重新執行他們,但仔細理解每一行代碼,并理解他們的原因。到目前為止,您已經獲得了良好的理論知識,以及從解決的示例的工作知識。
最后一步,選擇一個項目,并實現一個有監督的學習算法,從數據收集、探索性分析、特性工程、模型構建和模型驗證開始。肯定會有很多問題和問題,但當你完成項目時,你會對算法和方法有很好的了解。
第71天到第90天:無監督學習和項目實施
現在是時候關注非監督學習了,類似于在監督學習中使用的方法,先花幾天時間理解你在非監督學習中選擇的算法背后的概念,然后通過實施一個項目來學習。
這里要講的算法是,
-
聚類算法-用于在數據集中識別聚類
-
關聯分析——用于識別數據中的模式
-
主成分分析——用于減少屬性的數量
-
推薦系統-用于識別相似的用戶/產品并進行推薦
最初的日子里,應把重點放在理解上面的算法和技術也了解他們每個人的目的,他們可以使用的場景像主成分分析通常用于數據集降維,當你工作在一個非常大的列數和你想要減少,但仍保留信息和推薦系統在電子商務流行基于客戶的購買模式可以推薦他們可能感興趣的其他產品來增加銷量。
當您熟悉了可以使用它們的理論和場景后,就可以選擇一個已解決的示例,并通過逆向工程來學習,即理解每一行代碼并重新執行它們。
作為最后一步,現在是選擇用例并基于您目前所學實現的時候了。在完成項目/用例時,你會學到很多東西,你會對這些算法有更好的理解,這將永遠伴隨著你。
第91天到第100天:自然語言處理基礎
利用這段時間關注非結構化/文本數據的分析和用例。值得花時間在這里的事情很少
-
學習使用API從公共源獲取數據
-
執行一些基本的情緒分析——可以使用來自twitter API的數據來提取特定標簽的tweet,然后可以計算這些tweet背后的情緒和情緒
-
主題建模——當有大量的文檔,并且您想要將它們分組到不同的類別時,這種方法非常有用
就是這樣!現在,您已經介紹了所有重要的概念,可以申請任何數據科學工作了。我已經在我的YouTube頻道上開始了為期100天的學習數據科學的教程,如果你感興趣,請加入我,在這里開始你的學習數據科學的教程。
https://youtu.be/VaXijSN_SJc
常見問題
有人能在100天內成為數據科學家?
是的,就像任何人都可以在幾天內學會游泳一樣,任何人都可以在100天甚至更短的時間內學會數據科學。但是就像游泳一樣,要想成為一名優秀的游泳運動員或者奧運會游泳運動員,必須通過努力和不斷的練習,數據科學也是一樣,通過不斷的練習和努力,你才能成為一名專家。
如果我沿著這教程走下去,我能學到多少?
在教程結束時,您將有足夠的知識來從事典型的數據科學項目。這樣,您就打破了學習障礙,因此只需付出最小的努力和最少的支持,您就能夠繼續學習數據科學中的高級主題。
結束前的最后信息
一開始,事情可能看起來太復雜,不要不知所措,只要一步一個腳印,繼續你的學習之旅,這可能需要一些時間,但你一定會到達你的目的地。