如果能重來,我選擇這樣學習資料科學……
全文共6131字,預計學習時長16分鐘
圖源:unsplash
筆者非技術背景出身,因此在開始資料科學生涯時,或多或少是自己在單打獨鬥的。我花了大量的時間瞭解應該從哪裡開始,首先學習什麼,以及利用哪些資源。
在過去的兩年裡,筆者學到了一些希望有人能早早教導我的事情,比如應該首先關注程式設計還是統計,應該利用什麼資源學習新技能,以及如何學習新技能等等。因此,本文旨在為那些正在資料科學道路上迷茫徘徊的人提供一些指導和見解。
一名有抱負的資料科學家通常會希望能完全理解各種機器學習演算法、資料科學思想等的概念和細節。
因此,筆者建議在學習機器學習演算法或資料科學應用程式之前先從構建區塊開始。如果對微積分和積分、線性代數和統計都沒有基本的瞭解,那麼你將很難理解各種演算法背後的機制。同樣,如果對Python沒有基本的瞭解,那麼你將很難在現實中應用所學知識。
數學和統計
和任何事情一樣,在接觸到有趣的內容之前首先要學習基礎知識。請相信筆者,在學習機器學習演算法之前先掌握數學和統計學的話,將會輕鬆許多。筆者推薦你回顧一下三個主題:微積分/積分、統計和線性代數(順序不限)。
1.積分
當涉及概率分佈和假設檢驗時,積分是必不可少的。雖然不必要成為此領域的專家,但學習積分的基本原理益處多多。
下面這些資源,前兩篇文章的適用物件是那些想要了解什麼是積分或那些只需要複習的人。如果你對積分一無所知,筆者建議學習可汗學院的課程。最後,還可以通過連結裡的練習題來磨練技能。
· 積分入門(文章)
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fan-integrals-crash-course-for-data-science-cf6e6dd7c046
· AP微積分速成課程 (文章)
https://www.albert.io/blog/how-to-solve-integrals-ap-calculus-crash-course/
· 可汗學院:積分學 (課程)
https://www.khanacademy.org/math/integral-calculus
· 練習題 (從第六單元開始)
https://www.albert.io/ap-calculus-ab-bc?utm_source=blog&utm_medium=blog&utm_campaign=ap-calculus
2.統計
你應該投入大部分的時間學習統計。畢竟,資料科學家實際上是現代統計學家,而機器學習是統計學的現代術語。
如果有時間,筆者建議你去學習佐治亞理工學院的“統計方法”課程,它涵蓋了概率基礎、隨機變數、概率分佈、假設檢驗等。(https://mediaspace.gatech.edu/playlist/dedicated/74258101/1_g5xwvbde/1_iw8fk73m)
如果沒有時間學習上述課程,筆者建議你務必要去看一下可汗學院關於統計學的視訊。(https://www.khanacademy.org/math/statistics-probability)
3.線性代數
如果你想繼續深入學習,線性代數特別重要。但除此之外,瞭解其他基本的機器學習概念,如主成分分析和推薦系統,也是有好處的。關於線性代數,筆者還是推薦可汗學院!
圖源:unsplash
程式設計基礎
程式設計的重要性也十分重要,對程式設計有基本的瞭解將使工作變得更簡單,特別是在實踐時。因此,筆者建議在深入研究機器學習演算法之前,花點時間學習基本的SQL和Python。
1.SQL
先學習Python還是SQL完全取決於自己,但如果要問筆者,我會從SQL開始。為什麼?因為如果你所在的公司從事資料工作,即使你不是資料科學家,學習起來也很容易,而且很有用。
如果完全不熟悉SQL,筆者建議閱讀Mode的SQL教程,因為它非常簡潔並且全面。(https://mode.com/sql-tutorial/introduction-to-sql/)
如果想學習更高階的概念,可以檢視筆者的資源列表,在你可以學習進階的SQL。(https://towardsdatascience.com/6-incredible-resources-to-learn-advanced-sql-364fe0889dcd)
下面是一些可以用於實踐SQL的資源:
· leetcode
https://leetcode.com/problemset/database/
· hackerrank
https://www.hackerrank.com
· 案例研究
https://docs.google.com/document/d/1_-pPj_HusumXskhsXFOccimhDSloWkAyEdCOxv7mZFY/edit#heading=h.sspk8oxbveqv
2.Python
筆者從Python開始學習程式設計的,而且很可能會在餘下的職業生涯中堅持使用Python。就開源貢獻而言,它遙遙領先,而且學習起來簡單,你可以把它和R語言一起學。
就我個人而言,筆者發現通過“實踐”來學習Python更有幫助。話雖如此,體驗過幾個Python速成課程之後,筆者發現以下課程是最全面的,而且免費!
· Python程式設計入門-佐治亞理工學院
https://www.edx.org/professional-certificate/introduction-to-python-programming
3.Pandas
可以說,Python中需要了解的最重要的庫是Pandas,它專門用於資料操作和分析。下面的兩項資源,掌握起來會很快。第一個連結是使用Pandas的教程,第二個連結提供了許多練習題,可以使用它們來鞏固你學到的知識:
· 與Kaggle一起學習Pandas
https://www.kaggle.com/learn/pandas
· 使用習題練習Pandas
https://github.com/guipsamora/pandas_exercises
機器學習演算法和概念
圖源:unsplash
如果已經到了這一步,意味著你已經打下了基礎,準備好學習有趣的東西了。這一節將分為兩個部分:機器學習演算法和機器學習概念。
1.機器學習演算法
接著你可以瞭解各種機器學習演算法,以及它們的工作原理和使用方法了!
· 線性迴歸
佐治亞理工學院:
https://www2.isye.gatech.edu/~sman/courses/6739/SimpleLinearRegression.pdf
StatQuest:
https://www.youtube.com/watch?v=nk2CQITm_eo&ab_channel=StatQuestwithJoshStarmer
· 邏輯迴歸——StatQuest
https://www.youtube.com/watch?v=yIYKR4sgzI8&ab_channel=StatQuestwithJoshStarmer
· k近鄰演算法——MIT
https://www.youtube.com/watch?v=09mb78oiPkA&ab_channel=MITOpenCourseWare
· 決策樹——StatQuest
https://www.youtube.com/watch?v=7VeUPuFGJHk&ab_channel=StatQuestwithJoshStarmer
· 樸素貝葉斯
Terence Shin:
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fa-mathematical-explanation-of-naive-bayes-in-5-minutes-44adebcdb5f8
Luis Serrano:
https://www.youtube.com/watch?v=Q8l0Vip5YUw&ab_channel=LuisSerrano
· 支援向量機
SVM教程:
https://www.svm-tutorial.com/2014/11/svm-understanding-math-part-1/
Alice Zhao:
https://www.youtube.com/watch?v=N1vOgolbjSc&ab_channel=AliceZhao
· 神經網路——Terence Shin
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fa-beginner-friendly-explanation-of-how-neural-networks-work-55064db60df4
· 隨機森林——StatQuest
https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&ab_channel=StatQuestwithJoshStarmer
· Adaboost演算法
Terence Shin:
https://towardsdatascience.com/a-mathematical-explanation-of-adaboost-4b0c20ce4382?source=friends_link&sk=956d985b9578c3d272e3851a53ee822a
StatQuest:
https://www.youtube.com/watch?v=LsK-xG1cLYA&t=9s&ab_channel=StatQuestwithJoshStarmer
· 梯度提升——StatQuest
https://www.youtube.com/watch?v=3CC4N4z3GJc&t=1s&ab_channel=StatQuestwithJoshStarmer
· 極端梯度提升——StatQuest
https://www.youtube.com/watch?v=OtD8wVaFm6E&t=1s&ab_channel=StatQuestwithJoshStarmer
· 主成分分析——StatQuest
https://www.youtube.com/watch?v=FgakZw6K1QQ&ab_channel=StatQuestwithJoshStarmer
2.機器學習的概念
這裡還有一些基本的機器學習概念供你回顧,筆者強烈建議你閱讀下面這些概念,許多面試問題都基於這些主題。
· 權衡偏差與方差
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Funderstanding-the-bias-variance-tradeoff-165e6942b229
· 正則化
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fregularization-in-machine-learning-76441ddcf99a
· 混淆矩陣和相關指標
https://towardsdatascience.com/understanding-the-confusion-matrix-and-how-to-implement-it-in-python-319202e0fe4d?source=friends_link&sk=434d5a02fcaec213208c2eeb1174b5c6
· AUC和ROC(視訊)
https://www.youtube.com/watch?v=4jRBRDbJemM
· 自助抽樣:
https://towardsdatascience.com/what-is-bootstrap-sampling-in-machine-learning-and-why-is-it-important-a5bb90cbd89a
· 整合學習、Bagging和Boosting:
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fensemble-learning-bagging-and-boosting-explained-in-3-minutes-2e6d2240ae21
· 標準化vs規範化:
https://www.statisticshowto.com/probability-and-statistics/normal-distributions/normalized-data-normalization/#:~:text=Normalization%20vs.-,Standardization,a%20standard%20deviation%20of%201.
資料科學專案
至此,你不僅建立了堅實的基礎,而且對機器學習的基本原理也有了充分的理解。現在是時候做一些個人的業餘專案了。如果想了解一些簡單的資料科學專案的例子,不妨看看下面的專案:
· 用分類技術預測葡萄酒質量
https://towardsdatascience.com/predicting-wine-quality-with-several-classification-techniques-179038ea6434
· 使用Plotly視覺化冠狀病毒資料
https://towardsdatascience.com/coronavirus-data-visualizations-using-plotly-cfbdb8fcfc3d
· 電影協同過濾推薦系統
https://github.com/terenceshin/Recommendation-System
圖源:unsplash
其實沒有什麼通用的方法,但是你可以借鑑別人方法來找到適合自己的。希望本文能為你的資料科學職業生涯提供一些指導和幫助,筆者堅信學習基本原理在將來會得到回報。
一起分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 “讀芯術”
(新增小編微信:dxsxbb,加入讀者圈,一起討論最新鮮的人工智慧科技哦~)
相關文章
- 10天100小時學資料科學,我推薦你這樣學!資料科學
- 我是這樣學習前端的前端
- 資料科學、資料工程學習路線資料科學
- 學習Java,我建議這樣做Java
- css樣式選擇器學習筆記CSS筆記
- 從軟體工程師轉型到資料科學家 我是這樣走的軟體工程工程師資料科學
- pandas 學習 第14篇:索引和選擇資料索引
- 讓科學重回資料科學資料科學
- 為什麼資料科學家們選擇了Python語言?資料科學Python
- 學習程式語言選擇Python怎麼樣?Python
- 微課|中學生可以這樣學Python(例8.21):選擇法排序Python排序
- 資料結構學習筆記-簡單選擇排序資料結構筆記排序
- 學習程式語言選擇Python怎麼樣?適合入門學習?Python
- 資料科學資料科學
- 這一年來,資料科學家都用哪些演算法?資料科學演算法
- 關於資料科學家,我們應該知道的這些事資料科學
- 人的資料科學與機器資料科學資料科學
- 如果能夠重來一次
- 專科生該選擇學習雲端計算還是web前端Web前端
- 學習建議,大資料元件那麼多,可以重點學習這幾個大資料元件
- 第二次放棄offer,我選擇學習。
- CSS學習(二)選擇符CSS
- Mysql學習版本的選擇MySql
- 學習資料科學的五大免費資源資料科學
- 我走過的學習之路(記我對技術的選擇) (轉)
- 2022年學習資料科學的技巧:資料科學
- (資料科學學習手札97)掌握pandas中的transform資料科學ORM
- 初學 golang 選擇這兩個框架Golang框架
- 【SVG】為了前端頁面的美麗,我選擇學習SVGSVG前端
- 12.8學習日報(背景簡寫、選擇器繼承性、選擇器的權重)繼承
- 大資料到底怎麼學:資料科學概論與大資料學習誤區大資料資料科學
- 我的大資料學習之路大資料
- less學習三—父選擇器
- 啊哈C——學習6.6選擇排序排序
- JQ選擇器(標籤)學習
- 從0開始學習大資料探勘分析,新手應該這樣學習大資料分析才靠譜大資料
- (資料科學學習手札89)geopandas&geoplot近期重要更新資料科學
- 《精通資料科學:從線性迴歸到深度學習》資料科學深度學習