跳到主要內容

Kaggle 競賽一點也不難!用 Excel 樞紐分析也可以完成你的第一次數據競賽!

資料科學社群中有一個很重要的平台 Kaggle,裡面從競賽、資料分享、經驗交流到社群都有,因為經營太成功了,後來(不意外地)被 Google 買下。我之前在參加 Google 數據分析師專業認證課時,課堂中有要求要開一個帳號,並且上去問答。問答完之後,就會看到你的帳號狀態中,顯示「你只要上傳一次數據競賽」就可以脫離新手村。

衝啊!

Kaggle 中有非常多的數據競賽,而且有些競賽的數據集非常好,獎金也很高。不過菜鳥先不要想那麼多,也做不了這麼高深的比賽。許多人都推薦,Kaggle 競賽可以先從 Titanic 鐵達尼競賽開始。這是一個沒有獎金,只有評分與排名的競賽,而且資料集非常單純,你不會寫程式、不懂機器學習,即便用Excel這種試算表也可以獲得不錯的成績。

什麼是 Kaggle 競賽

Kaggle 上有大大小小的競賽,從給錢的、給(虛擬獎牌)到老師自己在課堂上舉辦的都有,參加辦法其實很簡單,許多比賽都會將一份資料集拆成兩個:

  • 訓練集 Train Dataset,讓你實際去訓練機器學習或者用各種你會的方法來跑模型的資料集。
  • 測試集 Test Dataset,通常與訓練集來自同一個資料庫,就像富春山居圖分成兩塊一樣,Test Dataset 是讓你去測試你的模型是否正確,會比訓練集少一些欄位,然後把你的結果上傳到競賽中,競賽就會與原本的資料比對,吻合程度越高就代表你的模型越好。

鐵達尼資料集

Kaggle上的鐵達尼資料集來自真實的數據,但與真實完整的欄位有一點點落差,這些欄位包含:
  • survival 倖存與否
  • pclass 艙等
  • sex 性別
  • Name 姓名 (包含頭銜)
  • Age 年齡
  • sibsp 手足、配偶人數
  • parch 父母、子女人數
  • ticket 船票編號
  • fare 票價
  • cabin 艙房編號
  • embarked 登船口岸
但這些資料集中有嚴重的資料疏漏,所以需要用各種技巧來處理。

資料分析

在Excel有很多方式可以分析這個檔案,第一是採取 Logistic Regression,這樣不用針對數據的特徵有任何分析,直接硬算即可。

另外一種方法就是針對數據的特徵分析之後,你可以不斷透過樞紐分析往下找到各種特徵。

當Rose與Jack要逃下船時,誰的機會比較大呢?我們先從性別來看,可以很快發現最明顯的特徵,就是女性大部分都活下來了,但男性很少。


很快畫一張樞紐分析圖:


這時候你可能開始會好奇,例如艙等、年齡、同行人數、票價、登船口岸會不會有差別,例如性別與艙等,可以看出女性雖然容易逃出,但三等票的就難說了:



假如我再往上增加年齡的分組,有些男性群組看起來會好一點。女性頭等與二等艙幾乎都可以存活,但三等會有點問題。男性如果住在頭等艙,假如年紀小一點,也是有很高的機率存活。



如此不斷的分析下去,你慢慢就會找到一些特徵,例如:
  • 頭等與二等的女性存活
  • 男性頭等與二等艙10歲以下存活
當你把這些特徵或規則都找出來之後,就可以在測試集輸入你的判斷式、公式、規則、模型等等,去估計測試集每一位乘客是否會倖存(1),之後再把數據貼到另一個 .csv 檔案,這樣就可以上傳,並且立即看到分數與排名了。

以「頭等與二等的女性存活」為例,我的 Excel 判斷式應該會是 

=IF(AND(Sex="Female", PClass<3),1,0)

然後逐漸向下拉,就可以判斷是否可能存活。


當然,妳找到的條件一定不會只有一個,所以 IF() 後面一定非常長,如果你不習慣寫很長的 IF,記得一個一個條件都先分別寫出來後,再以 AND()、OR()、NOT()來設定條件。

這個鐵達尼的資料集,我用邏輯斯回歸與樞紐分析找規則的方式,兩個都可以獲得差不多的正確率。

資料上傳

Titanic的資料上傳很簡單,拖拉 .csv 檔案,並簡單寫個註記(主要是給自己看的),馬上就可以看到你的正確率與排名。


如果你上傳一個全部都倖存的檔案會發生什麼事?你會獲得一個 0.37 的成績,大概倒數1000名內。如果全部都死亡呢?成績就會高很多了。

通常你經過每次調整再重新上傳,都會獲得更好的成績,這也是 Kaggle 平台的趣味所在。

這個網誌中的熱門文章

Google 專案管理認證如何準備?值得考嗎? Project Management Professional Certificate

Google 2021年開始在 Coursera 上開設了一系列以科技業就業為導向的 Certificate 課程,我今年6月底到7月初,大概花了2週的時間,從早學習到晚,取得了 Google Project Management Professional Certificate 這個認證,覺得可以來談談這個認證,並且推薦年輕朋友考一張看看。 結論先講 這是一個不錯的初階認證課程,有系統、有難度。我覺得上過這個課,對於專案管理的流程、文件、軟技能都有基礎的認識,應該需要知道的細節都有基本的知識,重要的文件都自己寫過一次,建議生涯初階的人可以考看看。從用人主管的角度來看,我覺得這個認證是有效的。 什麼是 Certificate Certificate 在美加的教育環境中,就是一個最基本的職業文憑,很多大專院校,會同時頒發 Certificate、Diploma與Degree, Certificate  差不多就是一年的課程(Diploma 2年、Degree 4年),一般學校都要求10-30學分左右的課程份量,大概是150到500小時的學習。一張Certificate通常有發證單位的背書,證明具有尋求該職業最低的要求,但不是「大學學歷」。 Google 每一張 Certificate 都是說 Prepare for an entry-level job as a ________. 然後在課程中會引導學員了解這個證書也不是 讓你幻想拿到之後就可以到跨國外商 PMO 管理大型專案 ,而是只能從各種 助理工作 開始。 Google Certificate 要求 6 個月的學期,課程安排大概是27週左右,每週要求10小時左右的學習,我覺得大概有台灣的大學10-20學分的份量(看是什麼大學),大概比台灣很多大學的「學分學程」少一點。 Google Project Management Professional Certificate 難不難? 我先簡單說一下我的背景,我沒有留學美國的經驗,但Toeic裸考9xx分,並且有在外商參與各種大小本土與跨國專案的經驗。 對台灣人而言,這個課程有 三個難度 ,一個是課程難度、一個是語言難度、一個是個人時間管理難度。 課程難度 :課程難度我覺得還好,如果都是用中文上課,台灣國中會考5B的學生還算可以應付。 英語難度 :加上英文之後,就

如何讓老師幫你寫推薦信

到了推甄的季節,許多學生都會請老師幫忙寫推薦信,但老師通常無法一一達成你的願望。因為你會找的老師,通常也有很多同學會找。沒有人找的老師,就是沒有人找。 想要獲得一封「 有效的 」推薦信,同學必須自己協助完成,而不能期待老師從無到有幫你寫完。原因有幾個: 你認識老師,老師也認識你,但,老師真的跟你 沒有很熟 。你可能修過這位老師幾門課,但課堂上不是只有你一個學生,老師「知道」你這個人的存在,但通常跟你不會很熟,特別是大學部的同學,除非當過老師的助教或助理,否則老師跟你單獨說話、見面的時間合計起來不超過一小時。加上現在社群媒體爆料的文化興盛,老師能夠避免與你單獨相處就盡量避免,請問這種狀況下,老師對你瞭解有幾分?如果你只修過老師一兩門課,老師就能幫你寫一封對你非常瞭解的推薦信,你可能要考慮報警。 二、老師對你的生涯規劃與讀研究所的脈絡並不清楚。除非你主動告訴老師,否則沒有人知道你為什麼要讀這個所、你的讀書計畫與目標是什麼,你的天性與專長如何滿足這個所的需求。 三、老師真的很忙。即便真正很熟的時間,寫起來也要幾個小時的時間,更何況不是真的很熟、半熟、三分熟的學生? 推薦信的底稿 這種時候,你應該自己先寫好一份推薦信的底稿,讓老師在這份底稿上邊修,這樣你才能夠得到一份真正對你推甄、申請有效的推薦信。 一封 推薦信的底稿 應該包含幾個段落: 被推薦人的簡單介紹(就讀學校、主修、副修、學業成績表現、生涯目標) 推薦人如何認識被推薦人(課堂、實習、研究助理、認識多久) 被推薦人的主要特長(積極、適應力強、認真、好學等等) 推薦人如何知道被推薦人有這些特長(STAR寫作法,文末有詳述) 這些特長與被推薦人要申請的研究所、工作或獎學金的連結是什麼? STAR 寫作法 在特長的部分,同學請依照 STAR 的方法來寫作。STAR 包含了: Situation Task Action Result 如果你覺得自己有「領導力」,老師大概很難直接寫「這位同學富有領導力」。通常要寫: Apple同學具有良好的領導力,她在2017年時曾經修過我的資訊圖表課程,當時我曾經有一個小組作業非常複雜困難,很多小組都無法排解組內的紛爭,成績表現並不好 (Situation)。但Apple同學身為小組組長,知道這個專案需要透過溝通來解決 (Task) ,她花了非常多時間與同學討論作業的需求、安排大家都滿意的分

Google Data Analytics 數據分析專業認證介紹

Google 在 2021 年開了5個他們認為低學歷也可以進入網路科技業的墊腳石課程,都是 Certificate 程度,也就是美式求職證照中的最低階。 我先前已經先考過了 專案管理的專業認證 ,這次繼續花大約2周的時間來完成數據分析師 / 資料分析師認證,看看這張證書是否值得推薦。 Google Data Analytics Certificate 結論先講 如果你具有任何一個非數據類的專業(aka良好的大學文憑)或者在工作上累積了不錯的專業知識 (Domain Knowledge) ,這門課可以 提高你的專業知識與求職機會 (前提是你真的 所有作業 都做完哦~~) 這門課的重點是 Data,不是 Business ,主要提供你與 Data 最基本的互動知識,但談不上 Business Analytics ,使用的工具、課程內容重點都不同。 課程難度 Google Data Analytics Professional Certificate 這門課是全英文的,你要全程用英文參與課程、學簡單 Coding,完成作業,語言上有難度。不過與另外一門 Project Management Certificate 相較,我覺得英文要求沒有那麼高,畢竟沒有 Peer Review,等於是沒有對英語寫作的要求。 課程的工具核心有三個,分別是 Excel(試算表)、SQL與R,假如這三樣你都沒學過,也沒有任何寫程式的基礎(這種人現在也不多就是了),可能會有一點點學習上的門檻,但如果你已經有任何一個程式的基礎,相信不會太難。 課程安排 這個專業認證課由8個課程組成,課程架構與大部分數據分析、商業分析的都差不多,Google 這邊使用的為 Ask、Prepare、Process、Analyze、Share與Act六大步驟,除了第一個課程是數據分析快速入門外,後面5個就是Google數據分析的前5個階段,然後第7個課程專門講R,第8個是專題作業。 Ask 階段主要是定義商業問題與需求,Prepare階段讓你了解數據、欄位等特性,規劃資料需求並且取得資料。  Process階段就專門談資料的清理、整理,花了很多時間在談清理的樣態、手工清理與SQL清理,令人驚訝的是完全沒有介紹 OpenRefine 。 Analyze階段講得比我想像的要少,重點還是在試算表與SQL的使用,完全沒有提到商