數(shù)據(jù)科學(xué)常見錯誤:開始學(xué)習(xí)之前,就把它們克服了吧
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。
我們生活在充滿數(shù)據(jù)的世界里,人類每天制造超過2.5兆字節(jié)的數(shù)據(jù),僅過去兩年產(chǎn)生的數(shù)據(jù)就占全世界數(shù)據(jù)的90%,基于此,數(shù)據(jù)相關(guān)的領(lǐng)域也應(yīng)運而生。這樣的大趨勢,引發(fā)了許多人對于學(xué)習(xí)數(shù)據(jù)科學(xué)的熱情。
但攻克這一領(lǐng)域并不容易,你可能會遇到千奇百怪的問題。即使有許多知名大學(xué)的優(yōu)秀教授開設(shè)了令人驚嘆的課程,你仍然會犯錯誤。剛開始的時候,我對很多事情一無所知,也走過不少彎路?,F(xiàn)在,我整理了一些人們在開始在線學(xué)習(xí)數(shù)據(jù)科學(xué)之前就必須要了解的要點。
在線課程不會傳授領(lǐng)域知識
解決任何問題之前,你都需要有一定的領(lǐng)域知識。恰當(dāng)?shù)念I(lǐng)域知識將幫助你更好地理解數(shù)據(jù)集的特性,并幫助你構(gòu)建分析數(shù)據(jù)集的方法,從而從數(shù)據(jù)集中得出結(jié)論。大多數(shù)年輕人忽視了這一點。
領(lǐng)域知識是最容易被忽視的技能,但對初學(xué)者來說卻是至關(guān)重要的。人們應(yīng)該意識到,他們有必要花時間了解該領(lǐng)域和他們想解決的問題。領(lǐng)域知識是解決問題的基礎(chǔ)。
了解數(shù)據(jù)集
在忙著尋找丟失的值或開始清理數(shù)據(jù)之前,請正確查看數(shù)據(jù)集并嘗試理解它。可以使用pandas庫中的describe()方法來提取關(guān)于數(shù)據(jù)的更多信息,比如平均值、標(biāo)準(zhǔn)差、四分位數(shù)。從數(shù)據(jù)集中取任何特定的例子,并使用特性來理解它。
不要急于創(chuàng)建機器學(xué)習(xí)模型
許多初學(xué)者在預(yù)處理數(shù)據(jù)之前直接應(yīng)用ML算法。所有人都可以寫兩到三行代碼來訓(xùn)練算法并預(yù)測結(jié)果,而數(shù)據(jù)科學(xué)家則會先花費80%的時間準(zhǔn)備和管理數(shù)據(jù),尋找離群值和相關(guān)性,以及填充缺失的值并了解哪個特性影響最大。
例如,如果你想解決一個分類問題,那么就要檢查類的不平衡。通俗來說,如果類不包含相同數(shù)量的示例,那么數(shù)據(jù)集就是不平衡。再如,在一個二進制分類任務(wù)中,類A占數(shù)據(jù)總數(shù)的99%,類B占數(shù)據(jù)總數(shù)的1%。數(shù)據(jù)不平衡可能導(dǎo)致所謂的過度擬合。
花時間準(zhǔn)備和管理數(shù)據(jù)及進行預(yù)處理是非常有必要的。
圖源:unsplash
不要自欺欺人
做作業(yè)或測驗時,不要抄襲網(wǎng)絡(luò)資源。不必急于完成任務(wù),慢慢來,作業(yè)和測驗只是手段,學(xué)會如何解決問題才是目的,你不能不僅僅是為了拿到證書。我學(xué)到的大部分東西都是在遇到問題時學(xué)到的。
在完成分配任務(wù)之前,理解好已編寫的代碼
對于許多初學(xué)者來說,只回顧近一周所學(xué)并將其應(yīng)用到數(shù)據(jù)中是很常見的事情。例如,如果一個學(xué)生正在學(xué)習(xí)支持向量機(分類算法之一)。在作業(yè)中,如果學(xué)生必須訓(xùn)練和測試模型,大多數(shù)學(xué)生只會完成這個任務(wù),他們不會注意到之前編寫的關(guān)于數(shù)據(jù)預(yù)處理的代碼。
編碼和數(shù)學(xué)的背景知識非常有益
有人認為學(xué)習(xí)一些數(shù)據(jù)科學(xué)課程不需要編程,我不同意這一點,編程方面的基本知識有助于更好地學(xué)習(xí)。
也許之后會教Python / R,但如果你正在學(xué)習(xí)一門課程,建議你在HackerRank、HackerEarth等平臺解決問題,以在學(xué)習(xí)一個特定的語言中獲得更多的經(jīng)驗,這樣以后如果你使用類似matplotlib、NumPy這樣的庫,就可以隨意編寫代碼。
不懂基礎(chǔ)數(shù)學(xué)也不用擔(dān)心,YouTube上有很好的學(xué)習(xí)資源。如果你想學(xué)習(xí)微積分,推薦學(xué)習(xí)3Blue1Brown的微積分、線性代數(shù)和統(tǒng)計學(xué)的Stat Quest。對于那些希望從數(shù)學(xué)開始學(xué)習(xí)數(shù)據(jù)科學(xué)的初學(xué)者來說,這都是不錯的選擇。
圖源:unsplash
隨意提問,不要害羞
論壇是問問題的好平臺,大膽提出你的疑問,不要有絲毫疑慮。在這里,沒有人會因為問問題而感到尷尬。正如愛因斯坦所說:不停質(zhì)疑至關(guān)重要。好奇心的存在有它自己的道理。
如果不理解算法,那么就從頭開始實現(xiàn)它
如果你在理解某個算法方面有問題,那么最好的方法是自己編寫這個算法。在這個過程中,你會了解它并理解scikit-learn這類的庫的運作方式。
不要滿足于ML算法的初始結(jié)果
你可以通過調(diào)整各種算法的值來改進模型。不要滿足于模型的初始結(jié)果,要經(jīng)常使用超參數(shù)調(diào)優(yōu)來優(yōu)化結(jié)果。你可以改變許多算法的超參數(shù)值,比如K最近鄰算法可以改變可能改善結(jié)果的鄰值的數(shù)量。
完成在線課程不是終點,而是起點。在線課程將幫助你建立牢固的基礎(chǔ),但你必須不斷學(xué)習(xí),不斷尋找各種數(shù)據(jù)集并實踐,實踐是做好所有工作的關(guān)鍵。你要繼續(xù)瀏覽各種博客文章、筆記、視頻、研究論文來了解更多知識,永遠不要把自己限制在什么事情上。
圖源:unsplash
作為一名數(shù)據(jù)科學(xué)家,你需要不斷學(xué)習(xí)新技術(shù),追尋永無止境。