廣泛被應用的資料分析
谷歌的資料分析可以預測一個地區即將爆發的流感,從而進行針對性的預防;淘寶可以根據你瀏覽和消費的資料進行分析,為你精準推薦商品;口碑極好的網易雲音樂,透過其相似性演演算法,為不同的人量身定製每日歌單……
資料正在變得越來越常見,小到我們每個人的社交網路、消費資訊、運動軌跡……,大到企業的銷售、運營資料,產品的生產資料,交通網路資料……
如何從海量資料中獲得別人看不見的知識,如何利用資料來武裝營銷工作、最佳化產品、使用者調研、支撐決策,資料分析可以將資料的價值最大化。
資料分析人才熱度也是高居不下,一方面企業的資料量在大規模的增長,對於資料分析的需求與日俱增;另一方面,相比起其他的技術職位,資料分析師的候選者要少得多。
資料源於麥肯錫
那麼,小白如何快速獲得資料分析的能力呢?知乎上有很多書單,你可能也聽過很多學習方法,但嘗試過就知道這些跟高效沒什麼關係。
要明確學習的路徑,最有效的方式就是看具體的職業、工作崗位對於技能的具體需求。
我們從拉勾上找了一些最具有代表性的資料分析師職位資訊,來看看薪資不菲的資料分析師,到底需要哪些技能。
其實企業對資料分析師的基礎技能需求差別不大,可總結如下:
-
SQL資料庫的基本操作,會基本的資料管理
-
會用Excel/SQL做基本的資料分析和展示
-
會用指令碼語言進行資料分析,Python or R
-
有獲取外部資料的能力,如爬蟲
-
會基本的資料視覺化技能,能撰寫資料報告
-
熟悉常用的資料挖掘演演算法:以回歸分析為主
其次是資料分析的流程,一般可以按“資料獲取-資料儲存與提取-資料預處理-資料建模與分析-資料視覺化”這樣的步驟來實施一個資料分析專案。按照這個流程,每個部分需要掌握的細分知識點如下:
高效的學習路徑是什麼?就是資料分析的這個流程。按這樣的順序循序漸進,你會知道每個部分需要完成的標的是什麼,需要學習哪些知識點,哪些知識是暫時不必要的。
接下來我們分別從每一個部分講講具體應該學什麼、怎麼學。
– ❶ –
資料獲取:公開資料、Python爬蟲
外部資料的獲取方式主要有以下兩種。
第一種是獲取外部的公開資料集,一些科研機構、企業、政府會開放一些資料,你需要到特定的網站去下載這些資料。這些資料集通常比較完善、質量相對較高。給大家推薦一些常用的可以獲取資料集的網站:
UCI:加州大學歐文分校開放的經典資料集,被很多資料挖掘實驗室採用。
http://archive.ics.uci.edu/ml/datasets.html
國家資料:資料來源於中國國家統計局,包含了我國經濟民生等多個方面的資料。
http://data.stats.gov.cn/
CEIC:超過128個國家的經濟資料,能精確查詢GDP、進出口零售,銷售等深度資料。
http://www.ceicdata.com/zh-hans
中國統計資訊網:國家統計局官方網站,彙集了國民經濟和社會發展統計資訊。
http://www.tjcn.org/
優易資料:由國家資訊中心發起,國內領先的資料交易平臺,很多免費資料。
http://www.youedata.com/
另一種獲取外部資料的方式就是爬蟲。
比如你可以透過爬蟲獲取招聘網站某一職位的招聘資訊,爬取租房網站上某城市的租房資訊,爬取豆瓣評分評分最高的電影串列,獲取知乎點贊排行、網易雲音樂評論排行串列。基於網際網路爬取的資料,你可以對某個行業、某種人群進行分析。
在爬蟲之前你需要先瞭解一些 Python 的基礎知識:元素(串列、字典、元組等)、變數、迴圈、函式………
以及,如何用 Python 庫(urllib、BeautifulSoup、requests、scrapy)實現網頁爬蟲。如果是初學,建議從 urllib+BeautifulSoup 開始。
常用的的電商網站、問答網站、二手交易網站、婚戀網站、招聘網站等,都可以爬到非常有價值的資料。
– ❷ –
資料存取:SQL語言
在應對萬以內的資料的時候,Excel對於一般的分析沒有問題,一旦資料量大,就會力不從心,資料庫就能夠很好地解決這個問題。而且大多數的企業,都會以SQL的形式來儲存資料,如果你是一個分析師,也至少要懂得SQL的操作,能夠查詢、提取公司的資料。
SQL作為最經典的資料庫工具,為海量資料的儲存與管理提供可能,並且使資料的提取的效率大大提升。你需要掌握以下技能:
-
提取特定情況下的資料:企業資料庫裡的資料一定是大而繁複的,你需要提取你需要的那一部分。比如你可以根據你的需要提取2017年所有的銷售資料、提取今年銷量最大的50件商品的資料、提取上海、廣東地區使用者的消費資料……,SQL可以透過簡單的命令幫你完成這些工作。
-
資料庫的增、刪、查、改:這些是資料庫最基本的操作,但只要用簡單的命令就能夠實現,所以你只需要記住命令就好。
-
資料的分組聚合、如何建立多個表之間的聯絡:這個部分是SQL的進階操作,多個表之間的關聯,在你處理多維度、多個資料集的時候非常有用,這也讓你可以去處理更複雜的資料。
SQL這部分比較簡單,主要是掌握一些基本的陳述句。當然,還是建議你找幾個資料集來實際操作一下,哪怕是最基礎的查詢、提取等。
– ❸ –
資料預處理:Python(pandas)
很多時候我們拿到的資料是不乾凈的,資料的重覆、缺失、異常值等等,這時候就需要進行資料的清洗,把這些影響分析的資料處理好,才能獲得更加精確地分析結果。
比如銷售資料,有一些渠道的銷售是沒有及時錄入的,有一些資料是記錄重覆的。比如使用者行為資料,有很多無效的操作對分析沒有意義,就需要進行刪除。
那麼我們需要用相應的方法去處理,比如殘缺資料,我們是直接去掉這條資料,還是用臨近的值去補全,這些都是需要考慮的問題。
對於資料預處理,學會 pandas (Python包)的用法,應對一般的資料清洗就完全沒問題了。需要掌握的知識點如下:
-
選擇:資料訪問(標簽、特定值、布林索引等)
-
缺失值處理:對缺失資料行進行刪除或填充
-
重覆值處理:重覆值的判斷與刪除
-
異常值處理:清除不必要的空格和極端、異常資料
-
相關操作:描述性統計、Apply、直方圖等
-
合併:符合各種邏輯關係的合併操作
-
分組:資料劃分、分別執行函式、資料重組
-
Reshaping:快速生成資料透視表
網上有很多 pandas 的教程,主要是一些函式的應用,也都非常簡單,可查 pandas 官方檔案。
– ❹ –
機率論及統計學知識
資料整體分佈是怎樣的?什麼是總體和樣本?中位數、眾數、均值、方差等基本的統計量如何應用?如何在不同的場景中做假設檢驗?資料分析方法大多源於統計學的概念,所以統計學的知識也是必不可少的。需要掌握的知識點如下:
-
基本統計量:均值、中位數、眾數、百分位數、極值等
-
其他描述性統計量:偏度、方差、標準差、顯著性等
-
其他統計知識:總體和樣本、引數和統計量、ErrorBar
-
機率分佈與假設檢驗:各種分佈、假設檢驗流程
-
其他機率論知識:條件機率、貝葉斯等
有了統計學的基本知識,你就可以用這些統計量做基本的分析了。透過視覺化的方式來描述資料的指標,其實可以得出很多結論了:比如排名前100的是哪些,平均水平是怎樣的,近幾年的變化趨勢如何……
你可以使用 Seaborn、matplotlib 等(python包)做一些視覺化的分析,透過各種視覺化統計圖,並得出具有指導意義的結果。
– ❺ –
Python 資料分析
如果你有一些瞭解的話,就知道目前市面上其實有很多 Python 資料分析的書籍,但每一本都很厚,學習阻力非常大。但其實真正最有用的那部分資訊,只是這些書裡很少的一部分。
比如掌握回歸分析的方法,透過線性回歸和邏輯回歸,其實你就可以對大多數的資料進行回歸分析,並得出相對精確地結論。這部分需要掌握的知識點如下:
-
回歸分析:線性回歸、邏輯回歸
-
基本的分類演演算法:決策樹、隨機森林……
-
基本的聚類演演算法:k-means……
-
特徵工程基礎:如何用特徵選擇最佳化模型
-
調參方法:如何調節引數最佳化模型
-
Python 資料分析包:scipy、numpy、scikit-learn等
在資料分析的這個階段,重點瞭解回歸分析的方法,大多數的問題可以得以解決,利用描述性的統計分析和回歸分析,你完全可以得到一個不錯的分析結論。
然後你會知道面對不同型別的問題的時候更適合用哪種演演算法模型,對於模型的最佳化,你需要去學習如何透過特徵提取、引數調節來提升預測的精度。這就有點資料挖掘和機器學習的味道了,其實一個好的資料分析師,應該算是一個初級的資料挖掘工程師了。
你可以透過 Python 中的 scikit-learn 庫來實現資料分析、資料挖掘建模和分析的全過程。
– ❻ –
系統實戰與資料思維
到這個時候,你就已經具備了資料分析的基本能力了。但是還要根據不同的案例、不同的業務場景進行實戰,練習解決實際問題的能力。
上面提到的公開資料集,可以找一些自己感興趣的方向的資料,嘗試從不同的角度來分析,看看能夠得到哪些有價值的結論。
你也可以從生活、工作中去發現一些可用於分析的問題,比如上面說到的電商、招聘、社交等平臺等資料中都有著很多可以挖掘的問題。
開始的時候,你可能考慮的問題不是很周全,但隨著你經驗的積累,慢慢就會找到分析的方向,有哪些一般分析的維度,比如Top榜單、平均水平、區域分佈、同比環比、相關性分析、未來趨勢預測等等。隨著經驗的增加,你會有一些自己對於資料的感覺,這就是我們通常說的資料思維了。
零基礎學習資料分析,坑確實比較多,總結如下:
-
1.環境配置,工具安裝、環境變數,對小白太不友好;
-
2.缺少合理的學習路徑,上來 Python、HTML 各種學,極其容易放棄;
-
3.Python有很多包、框架可以選擇,不知道哪個更友好;
-
4.遇到問題找不到解決辦法,學習停滯不前;
-
5.網上的資料非常零散,而且對小白不友好,很多看起來雲裡霧裡;
-
6.懂得技巧,但面對具體問題無法系統思考和分析;
-
……………………
正好,DC學院推出的這門系統的資料分析課程,就是按照以上的學習路徑。是無數分析師的爬坑經驗、以及無數本書的總結,讓你少走彎路。60天,足夠打敗市面上多半所謂的分析師。
這門課已經開課一個月,已經有2000+同學加入。不少同學都取得了從0到1的進步,能夠分析大規模資料,完成視覺化和趨勢預測。下麵是幾位同學的作業合集分享:
Python中透過RF預測紅酒質量
@Echo
卡片裡面內容可以滑動
爬取豆瓣TOP250電影並分析
@Linda
爬網易雲音樂並分析
@檸檬不怕酸
如果你希望在短時間內學會Python資料分析,少走彎路
掃描下方二維碼加入課程
限額優惠 ¥499(原價¥599),限前100名
關於學習路徑
我們知道一般的資料分析流程是:“資料獲取–資料儲存–資料清洗–Python資料建模與分析–資料視覺化與報告”,而課程正是按照實際的分析流程搭建整體框架。這條學習路線足夠清晰,沒有一上來直接灌輸大量理論,而是在實踐中學習,這就有效過濾掉了無效知識。
每學習一部分知識,能解決實際的問題。比如學習 Python 爬蟲,就能獲取相應的資料;學習 pandas,就能將獲取的資料進行清洗;學習 Seaborn,你就可以實現炫酷的視覺化……即便是對於純小白來說,也沒有什麼壓力。
資料清洗-獲得乾凈資料
資料視覺化-探索性資料分析
附:《資料分析師(入門)》課程大綱
60天入門資料分析師
第一章:開啟資料分析之旅
1) 資料分析的一般流程及應用場景
2) Python 程式設計環境的搭建及資料分析包的安裝
第二章:獲取你想要的資料
1) 獲取網際網路上的公開資料集
2) 用網站 API 爬取網頁資料
3) 爬蟲所需的 HTML 基礎
4) 基於 HTML 的爬蟲,Python(Beautifulsoup)實現
5) 網路爬蟲高階技巧:使用代理和反爬蟲機制
6) 應用案例:爬取豆瓣 TOP250 電影資訊並儲存
第三章:資料儲存與預處理
1) 資料庫及 SQL 語言概述
2) 基於 HeidiSQL 的資料庫操作
3) 資料庫進階操作:資料過濾與分組聚合
4) 用 Python 進行資料庫連線與資料查詢
5) 其他型別資料庫:SQLite&MongoDB;
6) 用 Pandas 進行資料預處理:資料清洗與視覺化
第四章:統計學基礎與 Python 資料分析
1)探索型資料分析:繪製統計圖形展示資料分佈
2)透過統計圖形探究資料分佈的潛在規律
3)描述統計學:總體、樣本和誤差,基本統計量
4)推斷統計學:機率分佈和假設檢驗
5)在實際分析中應用不同的假設檢驗
6)預測型資料分析:線性回歸
7)Python中進行線性回歸(scikit-learn實現)
8) 預測型資料分析:分類及邏輯回歸
9) 其它常用演演算法(k近鄰、決策樹、隨機森林)
10) 預測型資料分析:聚類演演算法(k均值、DBSCAN)
11) 用特徵選擇方法最佳化模型
12) 用 scikit-learn 實現資料挖掘建模全過程
13) 用 rapidminer 解決商業分析關鍵問題
14) 高階資料分析工具:機器學習、深度學習初探
第五章 報告撰寫及課程總結
1) 養成資料分析的思維
2) 資料分析的全流程及報告撰寫的技巧
3) 課程回顧以及一些拓展
關於學習資料
你或許受夠了零散的學習資源,不繫統不清晰意味著低效;你可能收集了以G計的的學習資源,但儲存後從來沒開啟過?
老實說,很少有像這門課這樣的用心的課程資料。每一小節後面都有本節的重點知識、參考程式碼以及延伸學習材料,供快速複習、案例實現、深入拓展……你一定不會失望。
某節部分學習資料
關於課程老師
課程主講老師王樂業是港科大的博士後,在資料挖掘方面成果不俗。更重要的是,他喜歡分享,知乎粉絲不少,能把知識提煉到極致,所以課程全是乾貨,沒有廢話。
周濤教授很多人比較熟悉,作為這門課的研發老師,他也將自己多年的大資料分析和挖掘的經驗、教學經驗傾註其中。所以課程不僅是知識,還有思維和學習方法,你完全可以遷移到其它層面。
【課程主講老師】
王樂業
香港科技大學博士後
王樂業,香港科技大學博士後,法國國立電信學院及巴黎六大電腦科學與技術專業博士。本科和碩士畢業於北京大學電腦科學與技 術專業。目前研究方向研究方向為城市時空資料挖掘。從事研究工作包括透過社交網路識別個人興趣、透過行動通訊網路推理人群移動樣式、以及透過公共交通資料最佳化交通站點分佈等。發表論文20餘篇,其中SCI10餘篇,取用300餘次。樂業老師是一位樂於分享的學者,善於用簡單的方法解答覆雜的問題。在他看來,找到好的學習方法和路徑,其實可以少走很多彎路。
【課程研發老師】
周濤
電子科技大學教授
周濤,電子科技大學教授、大資料研究中心主任。主要從事統計物理與複雜性,資料挖掘與資料分析方面的研究。在 Physics Reports、PNAS等國際 SCI 期刊發表300餘篇學術論文,取用超過17000次,H 指數為63。2015年入選全國十大科技創新人物,超級暢銷書《大資料時代》譯者,暢銷書 《為資料而生:大資料創新實踐》作者。周濤教授參與課程的研發和課程體系的設計,以多年的教學科研和企業資料團隊管理經驗為課程的頂層設計保駕護航。
關於學習和答疑
課程是錄播的,所以可以根據自己的計劃,隨時學習。當然學習群也有老師隨時答疑,你的每一個問題都能被認真對待。很多時候學習效率不高,並不是因為程式設計多難,而是一些小問題,卡住了學習的進度。
【課程資訊】
「 上課形式 」
錄播課程,可隨時開始,反覆觀看
「 學習週期 」
建議每週學習至少8小時,兩個月內完成一遍
「 學習路徑 」
資料獲取-資料預處理-資料建模與分析-視覺化與報告
「 程式語言 」
人生苦短,我用Python
「 面向人群 」
零基礎的小白、負基礎的小白白
「 答疑形式 」
學習群老師隨時答疑,即便是最初級的問題
「 課程資料 」
重點筆記、操作詳解、參考程式碼、課後拓展
「 課程證書 」
學完課程並達到要求,發放資料分析師結業證書
公眾號專屬優惠:¥499,限前100名
長按下方二維碼,去上課
如有任何疑問和購買問題,請加下方微信群
若群滿,加Alice小姐姐微信:datacastle2017