顯示具有 R 標籤的文章。 顯示所有文章
顯示具有 R 標籤的文章。 顯示所有文章

Python爬蟲學習 learn from 大數學堂


依稀記得在七月初到台大上課,第一次聽到爬蟲,一直以為是某種高等生物.
但事實證明不是高等也不是生物,只是我等級太低,智商也是...
在PECU老師的帶領下,一步一步學習使用R來爬蟲.雖然有些迴圈我還是很頭痛.
不過真的對我未來的學習很有幫助,即使coding過程痛苦,但還是有些樂趣的.(扯遠了...

這篇文章是有關於如何在網路抓取資料的初心者學習紀錄
如果是您的等級較高,那就當作休閒來看看吧...

註:這篇文章爬蟲過程都從大數學堂學來,coding source 也是.
(這篇為簡略學習紀錄,大家有興趣,要仔細學習就請自行觀看大數學堂囉.)



由上圖可知,爬的資料是PTT的Money板.
把板上的標題-作者-日期都爬下來了.
對完全零基礎的人來說,可能覺得那複製貼上不是比較快,
但其實爬蟲可做到的是能快速地按照特定格式,擷取指定範圍的資料.
在新手還在整理複製貼上的原始資料時,高手就已經在泡茶囉.

資料爬下來後,
使用2016年開始到現在在Money板上出現的標題資料,直接使用R繪製WordCloud文字雲



註:以上wordcloud raw code 來自於 Nick Oliver


分析結果

將最後文字雲結果輸出,可以發現從年初到現在Money板都討論甚麼主題居多.
但因樣本不夠多,所以有些雲狀沒產生出來.

可發現金融市場動盪不安啊,
看空:金管會要查/出口連黑/浩鼎之後/假美金/比水便宜...
看多:人民幣美金/人民幣兌台幣/./////
有個很奇怪的標題字為三新竹場...我猜是三星(最近爆炸了...

NBA射手數據分析

等開學前每天都寫blogger有關的文章有點膩,
於是今天來點不一樣的口味,NBA數據分析.
說實話,我對球類運動一直很不在行,很少關注這類運動.
(除了棒球跟亞洲列強打時,會跟風看球賽..)
總而言之,這篇文章的重點在分析上其實很簡單,讓我們輕鬆看過去吧.

 

資料格式

變數如下圖,很多變數跟資料,但只是簡單練習,沒有要全面分析,所以只用四變數做分析.
之後有其他想法會再做更多分析.

使用變數為:投球球員,節數,有無進球,得分數

(此資料來源為Kaggle資料科學平台,提供各式資料樣本)

Analysis Tool: R+Tableau

這兩樣工具一樣是我上研所才學的東西,經驗值約兩個月.
大家有興趣可以學一下,有時還蠻好用的.說不定學一下就超越我了.

Intro

  1. R
  2. Tableau

分析過程

此次分析的 R code

### 2014-2015 每節FG% ###
shot_logs %>% 
  filter(投球球員=='kyle korver') %>% 
  group_by(節數) %>% 
  summarise(sum(有無進球)/length(有無進球))

shot_logs %>% 
  filter(投球球員=='stephen curry') %>% 
  group_by(節數) %>% 
  summarise(sum(有無進球)/length(有無進球))

shot_logs %>% 
  filter(投球球員=='klay thompson') %>% 
  group_by(節數) %>% 
  summarise(sum(有無進球)/length(有無進球))

### 2014-2015得分數總計 ###
shot_logs %>% 
  filter(投球球員=='kyle korver') %>% 
  summarise(sum(得分數*有無進球))

shot_logs %>% 
  filter(投球球員=='stephen curry') %>% 
  summarise(sum(得分數*有無進球))

shot_logs %>% 
  filter(投球球員=='klay thompson') %>% 
  summarise(sum(得分數*有無進球))

以上為使用R著名的套件dplyr.
在處理大量資料上非常的方便強大.
一開始學R要切割資料時,都很花時間,因為我不會迴圈又沒邏輯...
後來得知這個套件,真的覺得超猛,省下很多資料整理時間.

(教學:請看這dplyr)

分析結果

Tableau(Data Viz)

可以看到以上三名射手,在2014-2015年的總得分.
按照排名的話就是Stephen Curry-Klay Thompson-Kyle Korver.
對不常看籃球的人來說感覺Curry超強的啦,根本神紀錄.
但實際上身為一個籃球迷或NBA賭徒,一定要懂各NBA統計的指標啊(雖然我都不是...
而其中有一項指標為FG%(Field Goal Percentage),看起來不是很懂沒關係.

簡單來說,FG%=投進球數/投球數,就是投籃命中率囉.
但單只計算FG%有點無聊,所以我按照各節數計算投籃命中率.
可以觀察到這三個球員,在每節球賽的投球表現,
非常有趣的是按照這個FG%重新來排名為Kyle Korver-Stephen Curry-Klay Thompson.

從總得分數和FG%,得知Kyle Korver較少上場,較少出手.
但每一出手就幾乎必中,他才是真正的神射手.

從三個球員的FG%走勢圖,可得知越好的射手到比賽快結束時,狀況不只要保持,而且到關鍵時刻要手感發燙,來一個大爆發逆轉秀,這樣才能符合球隊和觀眾的期待.

最後,
此篇射手分析,並不代表這三位球員相互比較的價值,僅針對2014-2015的射籃數據做分析,如果你是Curry迷,別生氣,因為一個球員能全方位的協助球隊獲勝才能真正決定他的價值.