數據科學家的神器:為什么大家都用Kaggle?
學習數據科學絕非易事。能找到一個可以分享代碼、數據和想法的社區對我們的學習大有裨益,有一個地方匯聚了這些特質,那就是Kaggle。
我在大學時第一次接觸了這個平臺,當時,筆者正在攻讀數據科學碩士學位,主攻機器學習,想看看在專業的第一堂課上自己在機器學習模型比賽的準確度挑戰中能位列何處,對比在最后一堂課上又能取得怎樣的名次。
筆者很快意識到,Kaggle上有成百上千的數據科學家,正在嘗試提升并提交他們的評分。這么多聰明的有志之士參與競爭,讓人嘆為觀止。除了評價技能,這一平臺還可以對比代碼,學習其他出色之人的新想法。在踏上成為數據科學家之旅的第一周就能得到這樣的體驗,筆者感到萬分慶幸,不出意外,我成了這一網站的常客。
Kaggle

比賽結果
在Kaggle上,人們可以分享想法,獲得啟發,同其他數據科學家展開競爭,學習新事物和編程技巧,觀察諸多真實數據科學應用的實例。這里有許多能應用于多種場合的數據集,或簡單如電子游戲銷售,或龐雜重要如空氣污染數據。
這些數據取自現實世界,幾經引用參考,可用來訓練并評測那些真正對人有幫助的項目模型。Kaggle另有許多實用的特色功能,比如數據、代碼、社區、靈感、競賽和課程等。
優勢
Kaggle有許多優勢,這些都是你應當使用Kaggle的原因。
1.數據
Kaggle上有一些可用的數據集。大多數數據集的文件格式是CSV,JSON、SQLite、archives和BigQuery格式的數據集不太普遍,但依舊用途頗廣。練習使用多種文件格式有所助益,你在工作中有可能遇到這些文件格式。下面是三個目前最熱門的數據集。
- COVID-19開放研究數據集挑戰賽
- UNCOVER COVID-19挑戰賽
- ProZorro.烏克蘭公共采購數據集
2.代碼
Kaggle上有大量代碼。如果你想查看其他Kaggle用戶的不計其數的代碼,在Notebooks上進行檢索很方便,其中包括代碼以及大多數用戶對代碼的注釋。這能幫助我們學習和練習,并借鑒他人處理類似問題的方式。大多數人使用Python進行編程,但也不乏一些人采用包括R、SQLite和Julia在內的其他編程語言。
代碼通常是記事本(又稱為Jupyter Notebook)形式,保存在后綴為.ipynb的文件中。有一些展示了端到端機器學習模型的例子,其中一些包括數據提取與清洗、探索性數據分析、特征工程、基礎模型創建、最終機器學習模型實現、以及結果的輸出和解釋。
大多數數據科學家在工作中經常用到這些步驟,因為這對于其他數據科學家和相關工作者來說,都是簡便且易于遵循的流程。
- code languages supported on Kaggle: Python, R, SQLite, and Julia
3.社區
與Medium、GitHub、Stack Overflow和LinkedIn類似,Kaggle作為一個社區,數據分析師、數據科學家和機器學習工程師可以在其中學習、成長和互動。
你可將自己的工作(如數據,代碼和記事本文件)發布在其上和他人分享,以發展自己的社區。作為社區的成員有其獨到的優勢,所以筆者強烈建議以Kaggle作為起點,培養自己的社區,并與其他社區建立聯系。
4.靈感
通過這里的數據、代碼、社區、課程和競賽,你可以收獲絕妙的靈感。觀看別人參與到對他人和企業有助益的比賽之中,欣賞其精彩發揮,這著實激勵人心。
如果你正在思索下一步該學習什么,亦或是如何實現某一功能,也許應該看一看別人如何實現某一模塊,例如以特定方式實現隨機森林。你可以在Kaggle上找到這些,最終激勵自己更上一層樓。
5.競賽

如果你想檢測自己的水平,了解自己在同行中的排名,豐富簡歷或者掙些外快,競賽是個合適的選擇。Kaggle提供了不計其數的競賽,上面的截圖顯示了排行前三的競賽及其對應的獎金。這些比賽不但趣味盎然,而且意義深遠(例如助力健康事業)。
筆者借助Kaggle上的賽事來對比自己的前后表現。起初,筆者僅掌握了些許數據科學方面的知識;后來有了將近兩年的數據科學從業經驗。兩相比較,意料之中的進步顯著。
筆者在將近8000人中位列前50%,這對于初出茅廬的人來說不算差。不難看出,當有成千上萬的數據科學家為同一個目標而展開競爭時,能為識別某些健康異常的項目做出何等巨大的貢獻。
6.課程
圖源:unsplash
我還發現Kaggle開設有一些數據科學課。我個人最喜歡這里的一些SQL課程,因為作為數據科學家,最需要的就是SQL。與其他課程網站相比,這里的機器學習的可解釋性和游戲AI與強化學習導論也是比較獨特的課程。下面是能在Kaggle上找到的所有課程:
- Python
- Intro to Machine Learning
- Intermediate Machine Learning
- Data Visualization
- Pandas
- Feature Engineering
- Deep Learning
- Intro to SQL
- Advanced SQL
- Geospatial Analysis
- Microchallenges
- Machine Learning Explainability
- Natural Language Processing
- Intro to Game AI and Reinforcement Learning
Kaggle能為銳意進取的優秀數據科學家提供豐富的資源,千萬不要錯過它。