數據分析養成系列(一)
為什麼要學習數據
大數據這個詞似乎從它一出生就已經是個熱度難以消散的詞。也拜這些所賜,曾經的我一次次地聽到過諸如:大數據、數據分析、數據挖掘、人工智慧、深度學習、神經網路等等術語,當時尚未接觸數據分析,也不知道數據分析到底是個什麼樣子,而在平日的工作里,也很少和數據有很深入地打交道。本來我是一名兢兢業業的苦逼策劃狗,在傳統旅行社工作也是因為專業原因,也不知道是不是走了狗屎運,策劃的活動總體上效果不錯,也創造了不錯的營收。但是當總部要求我每次活動後都要交屁屁踢上去總結,空有製作屁屁踢的技術然而卻不會分析數據,不會看數據,甚至覺得數據就只是一堆數字並沒什麼用處的我慌了(對,我的統計學全還給老師了)後來經過幾次彙報被指出,彙報屁屁踢很漂亮,內容很醜陋。於是我又翻起了我的統計學,對,統計學,厚厚的一大本(當年考了92分,都忘了怎麼考的了)。還挺有意思的,一下午就又把假設檢驗參數估計給看會了。(滑稽.jpg)
與在其他一些經常得和數據打交道的行業不一樣,傳統旅遊業現在急需轉型,旅行社是一個中間商環節,作為渠道商它的利潤很少,放眼整個行業也是一樣,只能是衝量。從早年的OTA衝擊,到OTA回歸線下,開始圈地分勢力範圍的時期,傳統旅行社在不斷經受新浪潮的衝擊,許多同行也在慢慢不斷地學習轉型。其實做了這麼多次營銷活動中,也能確確實實能感受到傳統旅行社的價格優勢在喪失,特別現在是互聯網時代,信息越來越透明這使得傳統旅行社所擁有的價格優勢進一步喪失。以我一個小小的市場策劃狗來看,我覺得傳統旅行社十分需要數據分析以及數據挖掘這些工種,從經驗驅動到數據驅動對傳統旅行社來說是必須要走的道路。既然大方向都定了,那我這種螺絲釘不得更加好好學習數據分析才能不被淘汰啊。
在知乎上找Logistics Regression的內容,看到有個live的主題也是這個,發現主講人是猴子老師,之前就看了猴子老師的回答覺得十分受用,索性就加入了猴子老師的社群,學起來也沒那麼孤獨。
數據分析要掌握三方面
第一:基礎的理論知識
- 基礎的數學知識,如:高數,線性代數,概率論
- 還有就是統計學的知識,像描述性統計,推論性統計(就是數理統計這塊了)
知乎也是一搜一大堆,mooc也有相關視頻,概率論推薦買陳希孺大師的書搭配mooc的視頻食用,建議先預習陳希孺大師的書,再結合來看會有意想不到的效果。
第二:必要的編程知識
- python
- R
其中,R比較統計系,python比較多面手(一直想學R來著,結果學了python)
怎麼增強編程能力,知乎上很多牛人也說自己找一些項目來做,而我自己從學習python的時候就開始找一些項目來做,小到像數學公式實現,練習for loop和while loop的用法,大到像包括Kaggle的數據競賽,爬蟲項目(例如下面的飯碗分析,B站彈幕,各種東西都能爬,善用百度谷歌,基本上解決70%的問題,剩下得逼自己看文檔),如果想學習數據分析,十分推薦去玩kaggle競賽,numpy、pandas、matplotlib、seaborn、scipy、sklearn的用法都能很熟悉地掌握。
知乎上一搜一大堆相關資料,最重要的就是要多碼。
第三:業務流程和行業狀況
- 這個需要我們不斷和業務部門打交道,與業務部分討論,看看可以拆分哪些指標,重點看哪些指標,定什麼閾值等等,具體這個得等把飯碗拿到手後再補充
招聘網站爬蟲
學了python也有一段時間了,是時候動動手看看有哪些飯碗我可以端著
爬蟲還是兩件套,requests和beautiful soup,外加個pandas。
joblst = [] #職位列表titlelst = [] #公司列表datelst = [] #發布日期列表salarylst =[] #薪酬列表localst = [] #工作地點for num in range(1,234):#招聘頁 234頁 #try,except 可以跳過錯誤的,這麼多數據裡面跳過一點影響不大 try: url1= rhttps://search.51job.com/list/000000,000000,0000,00,9,99,%25E6%2595%25B0%25E6%258D%25AE%25E5%2588%2586%25E6%259E%2590%25E5%25B8%2588,2, url2= r%s.html %(num) url3 = r?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1 url4 = r&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare= url = url1+url2+url3+url4 #url太長,直接分開幾部分串起來 r = requests.get(url,timeout= 5) r.encoding = r.apparent_encoding soup = BeautifulSoup(r.text,lxml) #職位 spider = soup.find_all(class_=t1) for i in spider: sample = i.text.strip().split( )[0] joblst.append(sample) #公司 spider2 = soup.find_all(class_=t2) for i2 in spider2: sample2 = i2.text.strip().split( )[0] titlelst.append(sample2) #工作地點 spider3 = soup.find_all(class_=t3) for i3 in spider3: sample3 = i3.text.strip().split( )[0] localst.append(sample3) #薪酬列表 spider4 = soup.find_all(class_=t4) for i4 in spider4: sample4 = i4.text.strip().split( )[0] salarylst.append(sample4) #發布日期 spider5 = soup.find_all(class_=t5) for i5 in spider5: sample5 = i5.text.strip().split( )[0] datelst.append(sample5) #這裡把表頭去掉 while 公司名 in titlelst: titlelst.remove(公司名) while 職位名 in joblst: joblst.remove(職位名) while 工作地點 in localst: localst.remove(工作地點) while 發布時間 in datelst: datelst.remove(發布時間) while 薪資 in salarylst: salarylst.remove(薪資) except: pass#最後生成dataframedf = pd.DataFrame({job:joblst,title:titlelst,local:localst,salary:salarylst,date:datelst})#存儲本地df.to_csv(./job.csv,encoding=utf-8)
爬出來的數據有11403條,然後清洗整理了一下數據之後,剩下10874條,數據量很少,但這是在 前程無憂上面直接搜數據分析師得 出的結果,其他全都沒有搜。
那些6666的是以年/萬為單位的,所以直接除開12了
下圖是按照上面的結果做的一個各城市職位需求圖,北上廣深依然是位居前列,所以我要去這幾個城市找飯碗了。
平均薪酬,有幾個城市比較反直覺,我一直覺得前程無憂hr發布的東西是比較隨意的,也有可能是總部在北上廣深的,分子公司開到其他的城市也有可能 ,所以我就沒清洗,能看到 深圳比廣州要吸引得多啊,杭州也是7.5k以上,廣州剛剛超過7k。
然而我找 的旅遊數據分析,就只有 2頁,絕大部分 城市都是北京,上海。薪資倒是很吸引,反過來看,旅遊行業的數據分析確實是起步階段啊,缺口也挺大。
學習計劃
短期內要複習鞏固好學過的理論知識。
多做kaggle競賽,形成好的數據分析的思路。
準備簡歷,找到工作後往機器學習方向學習。
推薦閱讀:
※一個優秀的商業分析師是如何煉成的
※下載《基於用戶全生命周期的數據分析與數字化營銷手冊》
※3個思路處理電影數據及其優缺點
※第一關——開始數據分析學習之旅
※可視化開腦洞期刊(一)
TAG:數據分析 |