數(shù)據(jù)科學(xué)入門指南:新手如何步入數(shù)據(jù)科學(xué)領(lǐng)域?
數(shù)據(jù)科學(xué),據(jù)說是本世紀(jì)最吸引人的工作,已經(jīng)成為我們許多人夢寐以求的工作。但對某些人來說,數(shù)據(jù)科學(xué)看起來像一個充滿挑戰(zhàn)的迷宮,讓人無從下手。如果你也是其中之一,那就繼續(xù)閱讀。
在本文中,我將討論如何從零開始數(shù)據(jù)科學(xué)之旅。我將詳細(xì)解釋以下步驟。
- 學(xué)習(xí)Python編程的基本知識
- 學(xué)習(xí)基本統(tǒng)計學(xué)和數(shù)學(xué)
- 學(xué)習(xí)使用Python進(jìn)行數(shù)據(jù)分析
- 學(xué)習(xí)機(jī)器學(xué)習(xí)
- 項目實戰(zhàn)
學(xué)習(xí)Python編程的基本知識
如果有IT背景的話,你可能已經(jīng)熟悉Python編程,此時,你可以跳過此步驟。但是如果從未接觸過編碼的話,應(yīng)該從學(xué)習(xí)Python開始。在所有編程語言中,Python語言最容易學(xué)習(xí),它被廣泛用在開發(fā)中,也被用在數(shù)據(jù)分析中。
首先,可以搜索免費的在線教程,這些教程將有助于理解Python的基礎(chǔ)知識。我列出了下述一些鏈接,這些教程可以幫助你在短時間內(nèi)自學(xué)Python??梢試L試一下,自己作出選擇。
- learnpython.org(https://www.learnpython.org/)
- 谷歌的Python類
- Estudy免費Python課程(視頻教程)
- 代碼學(xué)院(使用在線編輯器編程)
上述列表并非詳盡無遺,你可以在網(wǎng)絡(luò)上找到更多其它的資源,這些資源助力學(xué)習(xí)Python的基礎(chǔ)知識,此外,你還可以在YouTube上找到許多為初學(xué)者提供的Python教程。
一旦掌握了編程語法和其他基礎(chǔ)知識之后,你就可以開啟Python的中級和高級學(xué)習(xí)之旅。要做到在數(shù)據(jù)科學(xué)領(lǐng)域游刃有余,我建議你至少學(xué)完中級,這樣可以熟悉Python中的數(shù)據(jù)結(jié)構(gòu)和文件系統(tǒng)。
下一步。
學(xué)習(xí)統(tǒng)計學(xué)和數(shù)學(xué)
數(shù)據(jù)科學(xué)是分析數(shù)據(jù)并得出有用的和可操作的見解的技能。為此,必須具備基本的統(tǒng)計學(xué)和數(shù)學(xué)知識。雖然不要求你成為一個偉大的統(tǒng)計學(xué)家,但需要對數(shù)據(jù)分布和算法原理這些基礎(chǔ)知識有所了解。 話雖如此,來看看需要學(xué)習(xí)哪些內(nèi)容。
首先,復(fù)習(xí)一遍高中的統(tǒng)計課程,對基本概念有所了解。為此,我推薦可汗學(xué)院的“高中統(tǒng)計”系列課程(根據(jù)自己的實際情況做出選擇)。
刷完高中統(tǒng)計課之后,可以開始閱讀以下任何一本書:
- 統(tǒng)計學(xué)習(xí)簡介(R語言)(強(qiáng)烈推薦)
- 統(tǒng)計思維(Python語言)
以上鏈接將直接訪問到這些書籍的各自pdf版本,你也可以根據(jù)需要方便地購買到紙質(zhì)的書。讀完這些書之后,你將熟悉數(shù)據(jù)分析的基本原理,對進(jìn)一步深入學(xué)習(xí)有幫助。
注意:雖然我建議你從學(xué)習(xí)Python語言來開啟數(shù)據(jù)科學(xué)之旅,但在學(xué)習(xí)過程中,你會遇到其他幾個工具,如R,它們也用于統(tǒng)計計算和數(shù)據(jù)分析。我的一般建議是,無論你遇到哪一個工具,都要有一個開放的心態(tài)。如果你正在使用兩種不同的語言執(zhí)行任務(wù),其底層工作和邏輯通常是相同的,這只是一個不同的語法和框架問題。
第一次體驗數(shù)據(jù)分析。
學(xué)習(xí)Python進(jìn)行數(shù)據(jù)分析
這便是它的有趣之處,在掌握了了Python編程的基本知識和統(tǒng)計之后,是時候一試身手了。
如果想在不付錢的情況下學(xué)習(xí),你只需在Udacity上開設(shè)一個帳戶,注冊免費課程-數(shù)據(jù)分析入門。這門課程將介紹數(shù)據(jù)分析所需用到的Python庫,如Pandas和Numpy。你可以按部就班地學(xué)習(xí),在幾周內(nèi)輕松完成課程。
在Udacity上還有許多其他課程可以探索,此外,Udacity還提供Nanodegree程序,但通常需要付費。如果你愿意為學(xué)習(xí)付費,還有許多好的平臺,如Coursera、Dataquest、Datacamp等。
在此步驟結(jié)束時,應(yīng)該掌握Python的一些重要庫和數(shù)據(jù)結(jié)構(gòu),如序列、數(shù)組和數(shù)據(jù)框。
還應(yīng)該能夠執(zhí)行諸如數(shù)據(jù)處理、得出結(jié)論、矢量化操作、分組數(shù)據(jù)和組合來自多個文件的數(shù)據(jù)等任務(wù)。
雖然已經(jīng)為下一步做好了準(zhǔn)備,但在繼續(xù)前進(jìn)之前還有一件事需要學(xué)習(xí):橋接數(shù)據(jù)分析與機(jī)器學(xué)習(xí)之間的終極關(guān)鍵-數(shù)據(jù)可視化。
數(shù)據(jù)可視化是數(shù)據(jù)分析的重要組成部分,它有助于得出結(jié)論并對數(shù)據(jù)模式可視化。為此,學(xué)習(xí)如何可視化數(shù)據(jù)勢在必行,學(xué)習(xí)數(shù)據(jù)可視化最簡單的方法是通讀Kaggle的數(shù)據(jù)可視化課程。在此之后,你將熟悉一個重要的Python庫-Seaborn。
注:Kaggle是一個受世界各地數(shù)據(jù)科學(xué)家歡迎的網(wǎng)站。它定期舉辦競賽,以挑戰(zhàn)數(shù)據(jù)儲備的技能,并為數(shù)據(jù)愛好者提供免費的交互式課程。
太棒了!你已經(jīng)學(xué)了一半以上的數(shù)據(jù)科學(xué)了。繼續(xù)下一步,即機(jī)器學(xué)習(xí)。
學(xué)習(xí)機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí),顧名思義,是機(jī)器(計算機(jī))自我學(xué)習(xí)的過程。通過對計算機(jī)算法的研究,自動提升經(jīng)驗。根據(jù)數(shù)據(jù)和業(yè)務(wù)問題的類型,使用預(yù)定義的算法建立模型,這些模型在給定的數(shù)據(jù)上進(jìn)行自我訓(xùn)練,然后被用在新數(shù)據(jù)上以得出結(jié)論。
掌握機(jī)器學(xué)習(xí)最簡單的方法就是按照給定的順序?qū)W習(xí)以下Kaggle的課程:
- 機(jī)器學(xué)習(xí)概述
- 中階機(jī)器學(xué)習(xí)
- 特征工程(優(yōu)化模型)
條條道路通羅馬,雖然有許多其他的方法來學(xué)習(xí)機(jī)器學(xué)習(xí),我提出的是最簡單的方法,完全免費。如果沒有資金的約束,還可以在Coursera、Udacity和其他相關(guān)平臺上找到各種課程。
當(dāng)這一步結(jié)束時,您將了解監(jiān)督機(jī)器學(xué)習(xí)和無監(jiān)督機(jī)器學(xué)習(xí)之間的區(qū)別,同時,掌握各種重要的算法,如回歸,分類,決策樹,隨機(jī)森林等。
太棒了!從此,可以沖破迷宮加入到數(shù)據(jù)科學(xué)俱樂部,之后,需要做的便是一步一步成為更好。
項目實戰(zhàn)
讀到這里,你便擁有了成為一名成功的數(shù)據(jù)科學(xué)家所需的一切。在掌握了所有的知識之后,應(yīng)通過盡可能多的練習(xí)來增強(qiáng)它。要做到這一點,可以尋找一些項目,去解決一些商業(yè)問題。
堅持實踐的最好方法之一是參加Kaggle比賽。Kaggle為你提供需要解決的問題和所需的數(shù)據(jù)。如果是一場比賽,你可以提交自己的結(jié)果,并根據(jù)獲得的分?jǐn)?shù)得到排名。
也可以在個人項目上建立自己的組合,通過嘗試以下資源來探索數(shù)據(jù)集:
- Kaggle數(shù)據(jù)集
- UCI機(jī)器學(xué)習(xí)倉庫
- 亞馬遜數(shù)據(jù)集
- 谷歌數(shù)據(jù)庫搜索引擎
為了練習(xí),建議在本地計算機(jī)中下載并安裝Anaconda, 這是開發(fā)數(shù)據(jù)科學(xué)項目的一個很好的工具包。在Anaconda眾多工具中, Jupyter Notebook是構(gòu)建Python項目的一種很好的方法,并幫你管理你的項目組合。
遵循本博客中的指導(dǎo)方針,將助力實現(xiàn)學(xué)習(xí)數(shù)據(jù)科學(xué)的目標(biāo),當(dāng)然,在這一領(lǐng)域還有大量知識要學(xué)習(xí),甚至更多的東西有待探索。繼續(xù)學(xué)習(xí)吧。