數(shù)據(jù)正在變得越來越常見,小到我們每個(gè)人的社交網(wǎng)絡(luò)、消費(fèi)信息、運(yùn)動(dòng)軌跡……,大到企業(yè)的銷售、運(yùn)營數(shù)據(jù),產(chǎn)品的生產(chǎn)數(shù)據(jù),交通網(wǎng)絡(luò)數(shù)據(jù)……
如何從海量數(shù)據(jù)中獲得別人看不見的知識(shí),如何利用數(shù)據(jù)來武裝營銷工作、優(yōu)化產(chǎn)品、用戶調(diào)研、支撐決策,數(shù)據(jù)分析可以將數(shù)據(jù)的價(jià)值最大化。
數(shù)據(jù)分析人才熱度也是高居不下,一方面企業(yè)的數(shù)據(jù)量在大規(guī)模的增長,對(duì)于數(shù)據(jù)分析的需求與日俱增;另一方面,相比起其他的技術(shù)職位,數(shù)據(jù)分析師的候選者要少得多。
那么,小白如何快速獲得數(shù)據(jù)分析的能力呢?知乎上有很多書單,你可能也聽過很多學(xué)習(xí)方法,但嘗試過就知道這些跟高效沒什么關(guān)系。
數(shù)據(jù)分析師應(yīng)該具備哪些技能
要明確學(xué)習(xí)的路徑,最有效的方式就是看具體的職業(yè)、工作崗位對(duì)于技能的具體需求。
我們找了一些最具有代表性的數(shù)據(jù)分析師職位信息,來看看薪資不菲的數(shù)據(jù)分析師,到底需要哪些技能。
其實(shí)企業(yè)對(duì)數(shù)據(jù)分析師的基礎(chǔ)技能需求差別不大,可總結(jié)如下:
SQL數(shù)據(jù)庫的基本操作,會(huì)基本的數(shù)據(jù)管理
會(huì)用Excel/SQL做基本的數(shù)據(jù)管理
會(huì)用腳本語言進(jìn)行數(shù)據(jù)分析,Python or R
有獲取外部數(shù)據(jù)的能力,如爬蟲
會(huì)基本的數(shù)據(jù)可視化技能,能撰寫數(shù)據(jù)報(bào)告
熟悉常用的數(shù)據(jù)挖掘算法:以回歸分析為主
其次是數(shù)據(jù)分析的流程,一般可以按“數(shù)據(jù)獲取-數(shù)據(jù)存儲(chǔ)與提取-數(shù)據(jù)預(yù)處理-數(shù)據(jù)建模與分析-數(shù)據(jù)可視化”這樣的步驟來實(shí)施一個(gè)數(shù)據(jù)分析項(xiàng)目。按照這個(gè)流程,每個(gè)部分需要掌握的細(xì)分知識(shí)點(diǎn)如下:
高效的學(xué)習(xí)路徑是什么?就是數(shù)據(jù)分析的這個(gè)流程。按這樣的順序循序漸進(jìn),你會(huì)知道每個(gè)部分需要完成的目標(biāo)是什么,需要學(xué)習(xí)哪些知識(shí)點(diǎn),哪些知識(shí)是暫時(shí)不必要的。
接下來我們分別從每一個(gè)部分講講具體應(yīng)該學(xué)什么、怎么學(xué)。
- ? -
數(shù)據(jù)獲取:公開數(shù)據(jù)、Python爬蟲
外部數(shù)據(jù)的獲取方式主要有以下兩種。
第一種是獲取外部的公開數(shù)據(jù)集,一些科研機(jī)構(gòu)、企業(yè)、政府會(huì)開放一些數(shù)據(jù),你需要到特定的網(wǎng)站去下載這些數(shù)據(jù)。這些數(shù)據(jù)集通常比較完善、質(zhì)量相對(duì)較高。
另一種獲取外部數(shù)據(jù)的方式就是爬蟲。
比如你可以通過爬蟲獲取招聘網(wǎng)站某一職位的招聘信息,爬取租房網(wǎng)站上某城市的租房信息,爬取豆瓣評(píng)分評(píng)分最高的電影列表,獲取知乎點(diǎn)贊排行、網(wǎng)易云音樂評(píng)論排行列表。基于互聯(lián)網(wǎng)爬取的數(shù)據(jù),你可以對(duì)某個(gè)行業(yè)、某種人群進(jìn)行分析。
在爬蟲之前你需要先了解一些 Python 的基礎(chǔ)知識(shí):元素(列表、字典、元組等)、變量、循環(huán)、函數(shù)………
以及,如何用 Python 庫(urllib、BeautifulSoup、requests、scrapy)實(shí)現(xiàn)網(wǎng)頁爬蟲。如果是初學(xué),建議從 urllib+BeautifulSoup 開始。
常用的的電商網(wǎng)站、問答網(wǎng)站、二手交易網(wǎng)站、婚戀網(wǎng)站、招聘網(wǎng)站等,都可以爬到非常有價(jià)值的數(shù)據(jù)。
- ? -
數(shù)據(jù)存取:SQL語言
在應(yīng)對(duì)萬以內(nèi)的數(shù)據(jù)的時(shí)候,Excel對(duì)于一般的分析沒有問題,一旦數(shù)據(jù)量大,就會(huì)力不從心,數(shù)據(jù)庫就能夠很好地解決這個(gè)問題。而且大多數(shù)的企業(yè),都會(huì)以SQL的形式來存儲(chǔ)數(shù)據(jù),如果你是一個(gè)分析師,也至少要懂得SQL的操作,能夠查詢、提取公司的數(shù)據(jù)。
SQL作為最經(jīng)典的數(shù)據(jù)庫工具,為海量數(shù)據(jù)的存儲(chǔ)與管理提供可能,并且使數(shù)據(jù)的提取的效率大大提升。你需要掌握以下技能:
提取特定情況下的數(shù)據(jù):企業(yè)數(shù)據(jù)庫里的數(shù)據(jù)一定是大而繁復(fù)的,你需要提取你需要的那一部分。比如你可以根據(jù)你的需要提取2017年所有的銷售數(shù)據(jù)、提取今年銷量最大的50件商品的數(shù)據(jù)、提取上海、廣東地區(qū)用戶的消費(fèi)數(shù)據(jù)……,SQL可以通過簡(jiǎn)單的命令幫你完成這些工作。
數(shù)據(jù)庫的增、刪、查、改:這些是數(shù)據(jù)庫最基本的操作,但只要用簡(jiǎn)單的命令就能夠?qū)崿F(xiàn),所以你只需要記住命令就好。
數(shù)據(jù)的分組聚合、如何建立多個(gè)表之間的聯(lián)系:這個(gè)部分是SQL的進(jìn)階操作,多個(gè)表之間的關(guān)聯(lián),在你處理多維度、多個(gè)數(shù)據(jù)集的時(shí)候非常有用,這也讓你可以去處理更復(fù)雜的數(shù)據(jù)。
SQL這部分比較簡(jiǎn)單,主要是掌握一些基本的語句。當(dāng)然,還是建議你找?guī)讉€(gè)數(shù)據(jù)集來實(shí)際操作一下,哪怕是最基礎(chǔ)的查詢、提取等。
- ? -
數(shù)據(jù)預(yù)處理:Python(pandas)
很多時(shí)候我們拿到的數(shù)據(jù)是不干凈的,數(shù)據(jù)的重復(fù)、缺失、異常值等等,這時(shí)候就需要進(jìn)行數(shù)據(jù)的清洗,把這些影響分析的數(shù)據(jù)處理好,才能獲得更加精確地分析結(jié)果。
比如缺失值,我們是直接去掉這條數(shù)據(jù),還是用臨近的值去補(bǔ)全,比如異常的值,如何設(shè)置合理數(shù)據(jù)區(qū)間進(jìn)行取舍……
對(duì)于數(shù)據(jù)預(yù)處理,學(xué)會(huì) pandas (Python包)的用法,應(yīng)對(duì)一般的數(shù)據(jù)清洗就完全沒問題了。需要掌握的知識(shí)點(diǎn)如下:
選擇:數(shù)據(jù)訪問(標(biāo)簽、特定值、布爾索引等)
缺失值處理:對(duì)缺失數(shù)據(jù)行進(jìn)行刪除或填充
重復(fù)值處理:重復(fù)值的判斷與刪除
異常值處理:清除不必要的空格和極端、異常數(shù)據(jù)
相關(guān)操作:描述性統(tǒng)計(jì)、Apply、直方圖等
合并:符合各種邏輯關(guān)系的合并操作
分組:數(shù)據(jù)劃分、分別執(zhí)行函數(shù)、數(shù)據(jù)重組
Reshaping:快速生成數(shù)據(jù)透視表
- ? -
概率論及統(tǒng)計(jì)學(xué)知識(shí)
數(shù)據(jù)整體分布是怎樣的?什么是總體和樣本?中位數(shù)、眾數(shù)、均值、方差等基本的統(tǒng)計(jì)量如何應(yīng)用?如何在不同的場(chǎng)景中做假設(shè)檢驗(yàn)?數(shù)據(jù)分析方法大多源于統(tǒng)計(jì)學(xué)的概念,所以統(tǒng)計(jì)學(xué)的知識(shí)也是必不可少的。需要掌握的知識(shí)點(diǎn)如下:
基本統(tǒng)計(jì)量:均值、中位數(shù)、眾數(shù)、百分位數(shù)、極值等
其他描述性統(tǒng)計(jì)量:偏度、方差、標(biāo)準(zhǔn)差、顯著性等
其他統(tǒng)計(jì)知識(shí):總體和樣本、參數(shù)和統(tǒng)計(jì)量、ErrorBar
概率分布與假設(shè)檢驗(yàn):各種分布、假設(shè)檢驗(yàn)流程
其他概率論知識(shí):條件概率、貝葉斯等
有了統(tǒng)計(jì)學(xué)的基本知識(shí),你就可以用這些統(tǒng)計(jì)量做基本的分析了。通過可視化的方式來描述數(shù)據(jù)的指標(biāo),其實(shí)可以得出很多結(jié)論了:比如排名前100的是哪些,平均水平是怎樣的,近幾年的變化趨勢(shì)如何……
你可以使用 Seaborn、matplotlib 等(python包)做一些可視化的分析,通過各種可視化統(tǒng)計(jì)圖,并得出具有指導(dǎo)意義的結(jié)果。
- ? -
Python 數(shù)據(jù)分析
如果你有一些了解的話,就知道目前市面上其實(shí)有很多 Python 數(shù)據(jù)分析的書籍,但每一本都很厚,學(xué)習(xí)阻力非常大。但其實(shí)真正最有用的那部分信息,只是這些書里很少的一部分。
比如掌握回歸分析的方法,通過線性回歸和邏輯回歸,其實(shí)你就可以對(duì)大多數(shù)的數(shù)據(jù)進(jìn)行回歸分析,并得出相對(duì)精確地結(jié)論。這部分需要掌握的知識(shí)點(diǎn)如下:
回歸分析:線性回歸、邏輯回歸
基本的分類算法:決策樹、隨機(jī)森林、樸素貝葉斯……
基本的聚類算法:k-means……
特征工程基礎(chǔ):如何用特征選擇優(yōu)化模型
Python 數(shù)據(jù)分析包:scipy、numpy、scikit-learn等
在數(shù)據(jù)分析的這個(gè)階段,重點(diǎn)了解回歸分析的方法,大多數(shù)的問題可以得以解決,利用描述性的統(tǒng)計(jì)分析和回歸分析,你完全可以得到一個(gè)不錯(cuò)的分析結(jié)論。
然后你會(huì)知道面對(duì)不同類型的問題的時(shí)候更適合用哪種算法模型,對(duì)于模型的優(yōu)化,你需要去學(xué)習(xí)如何通過特征提取、參數(shù)調(diào)節(jié)來提升預(yù)測(cè)的精度。這就有點(diǎn)數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)的味道了,其實(shí)一個(gè)好的數(shù)據(jù)分析師,應(yīng)該算是一個(gè)初級(jí)的數(shù)據(jù)挖掘工程師了。
- ? -
系統(tǒng)實(shí)戰(zhàn)與數(shù)據(jù)思維
到這個(gè)時(shí)候,你就已經(jīng)具備了數(shù)據(jù)分析的基本能力了。但是還要根據(jù)不同的案例、不同的業(yè)務(wù)場(chǎng)景進(jìn)行實(shí)戰(zhàn),練習(xí)解決實(shí)際問題的能力。
上面提到的公開數(shù)據(jù)集,可以找一些自己感興趣的方向的數(shù)據(jù),嘗試從不同的角度來分析,看看能夠得到哪些有價(jià)值的結(jié)論。
你也可以從生活、工作中去發(fā)現(xiàn)一些可用于分析的問題,比如上面說到的電商、招聘、社交等平臺(tái)等數(shù)據(jù)中都有著很多可以挖掘的問題。
開始的時(shí)候,你可能考慮的問題不是很周全,但隨著你經(jīng)驗(yàn)的積累,慢慢就會(huì)找到分析的方向,有哪些一般分析的維度,比如Top榜單、平均水平、區(qū)域分布、同比環(huán)比、相關(guān)性分析、未來趨勢(shì)預(yù)測(cè)等等。隨著經(jīng)驗(yàn)的增加,你會(huì)有一些自己對(duì)于數(shù)據(jù)的感覺,這就是我們通常說的數(shù)據(jù)思維了。