1. 簡介
上次更新時間:2024 年 5 月 10 日
什麼是 Kaggle?
Kaggle 是規模最大的 AI機器學習社群是極致數據資料學和機器學習愛好者的終極平台,無論使用最新的技術和技術,都能輕鬆上手。探索龐大的資料集、筆記本和預先訓練模型,展開下一個專案。全球使用者超過 1,800 萬人,可以參與比賽、從課程中學習,並與廣大的使用者社群互動交流。無論是新手還是經驗豐富的專家,都能在 Kaggle 上精進技能、領先業界,以及與他人合作處理頂尖專案。
建構項目
在本程式碼研究室中,您將建立、設定並啟動 Kaggle 競賽。你將瞭解競爭對手的體驗,以及參與精彩競爭的最佳做法。
課程內容
- 瞭解如何建立及管理主持人的 Kaggle 競爭
- 從探索到提交,瞭解競爭對手的體驗
- 瞭解進行吸引人競賽的最佳做法
本程式碼研究室著重於快速創造競賽,並利用 Kaggle 日益壯大的競爭資料庫。
軟硬體需求
- 使用新版網路瀏覽器
- Python 的基本知識
2. 開始設定
建立 Kaggle 帳戶
造訪 Kaggle 網站 (https://www.kaggle.com/) 並按一下 [Register] (註冊)免費建立帳戶
驗證帳戶
- 按一下頁面右上角的個人資料圖片
- 按一下 [您的個人資料]
- 按一下「設定」個人資料內容右側的按鈕
- 在「電話驗證」下方按照操作說明驗證帳戶
3. 建立第一場競賽
隆重推出 AI 生成的競爭範本
「AI 生成競爭」是 Kaggle 的新功能,能讓使用者輕鬆快速地建立機器學習競賽。運用 AI 生成模仿現有資料集的統計屬性的合成資料集,而且不含任何個人識別資訊。
運作方式如下:
- 「選擇範本」:根據不同機器學習工作 (例如分類、迴歸) 的範本清單中選取範本。
- AI 產生資料集:Kaggle 的 AI 會根據您選擇的範本,建立新的競爭資料集。這個資料集與原始資料集類似,但僅使用部分特徵,且特徵分佈會略有不同。
- 自訂競爭程度:輸入競賽名稱、說明和時間軸等基本資料。也可以設定競爭程度的隱私權設定。
- 推出:確認各項細節並安排推出產品後,您就可以開始比賽。
這項功能可簡化競賽的建立流程,讓更多使用者能輕鬆學習,並專注在機器學習方面,不必為準備資料集。
建立比賽
前往 https://www.kaggle.com/competitions/new,然後選取「New AI Generated 競爭」
選取「Regression with a Crab Age Dataset」(含有螃蟹時代資料集的迴歸)競爭。
競賽詳情
填寫描述性名稱和副標題。舉例來說,您可以使用「<Your Names>'s Test Crab 競爭」做為標題,然後「建立第一場競賽,看看成效如何」做為子標題請注意,系統會根據標題自動填入競爭網址。
瀏覽權限和存取權
現在我們需要設定競賽的瀏覽權限和存取權。
顯示設定
- 公開:所有 Kaggle 使用者都能看到你的比賽。該社群會顯示在搜尋結果中,讓所有有興趣的人加入。
- 私人:系統不會公開顯示您的比賽。該活動不會顯示在搜尋中,而且只有你邀請的使用者才能參與。
誰可以加入
- 任何人:這就像開門政策,Kaggle 上的所有人都可以參加您的比賽。
- 僅限擁有連結的人:較特殊。系統會產生一個特殊連結,只有知道這個連結的使用者才能加入。
- 電子郵件受限清單:這是受到最控制的選項。您必須提供特定電子郵件地址或網域清單 (例如 @<貴校名稱>.edu),只有擁有這些地址的使用者才能加入。
稍後我們會進一步瞭解「啟用筆記本和模型」設定。目前,請確認這項功能已開啟。舉例來說,我們的競爭範例會將這些設定設為「私人」和「僅限知道連結的使用者」。
詳閱並同意條款,然後按一下「建立競賽」。
4. 瞭解及設定競爭程度
在幕後,我們透過獨特的資料集創造了全新競賽。接著來快速回顧一下競爭設定。
主機分頁
「主機」分頁包含主辦人設定所需的各項資料,以便正確設定競爭結果。具體查看頁面右側的頁面清單:
基本詳細資料
本節的內容包含:
- 一般
- 隱私權、存取權與資源
- 時間軸
- 評分與團隊
我們推出競賽時,特別介紹了「一般」和「隱私權」部分。
時程
競賽結束日期以時區為準。
得分及團隊
得分與小組部分可讓您控制團隊的參與人數、每日參賽次數,以及作答者必須提交多少份問卷才能進行最終評估。
圖片
圖片可讓您為競爭程度自訂橫幅和縮圖。這會影響競賽的首頁,以及您的競賽資訊。
主辦人
您可以在這裡將其他 Kaggle 使用者新增為比賽主辦人。其他主持人將擁有您競賽的完整存取權 (包括啟動)。
評估指標
「評估指標」分頁是競爭對手的核心。從頭建立競賽時,你必須仔細思考要使用的評估 (或評分) 指標、上傳解決方案檔案、定義公開/私人測試分割,並提供提交範例。然而,由於我們使用設計的競爭,因此不需要這麼做!
評分指標
這會決定如何根據解決方案檔案為提交內容評分。每項指標都有相關的說明文件和實際程式碼。
解決方案檔案
由於我們使用的是所產生的競爭,因此這個檔案專屬於您的競爭對手。
解決方案取樣功能可讓您調整解決方案檔案在競賽期間用於為提交評分 (公開排行榜) 的數量,以及用來決定最終排行榜的資料列數。競賽期間,使用者可以根據「計分的不公開提交內容」設定,選擇將他們的提交作品用於最終排行榜 (稱為「私人排行榜」)。
此程序可確保競爭對手不會因提交內容過度配適或淹水而獲得獎勵。
沙箱提交內容
讓競爭主辦人確保評分能夠符合預期,並能讓他們設定「基準」供競爭對手比較。您提交的基準測試將會顯示在排行榜中。
團隊與提交內容
在比賽期間,主辦人可以下載所有分數並管理團隊。競賽開始之前,此欄是空的。
上市檢查清單
下一節會說明!
5. 發起比賽
按一下競賽頁面頂端的「上市檢查清單」按鈕。
上市檢查清單
「發布檢查清單」會列出發起競賽前的必要步驟。由於我們已經使用競賽範本開始作業,大多數的步驟已經完成了!剩下的只有兩項工作,分別是設定期限及更新競賽規則。
設定期限
首先,按一下「設定期限」旁邊的箭頭。競賽通常至少會幾個月。競賽的時間最長為一年。
編輯規則
您的競爭規則必須先從預設範本更新才能上線。如果你是為課程或團體舉辦這項競賽,都可以在這裡說明期望。
發布
已可啟用!立即發起比賽!您現在已準備好開放競爭對手加入!
6. 競爭對手體驗
現在你已發起競爭,讓我們來看看競爭對手的表現。我們將說明如何參加這項競賽並提交報名資料。想參加這場 IO 示範大挑戰嗎?請前往:https://www.kaggle.com/competitions/google-io-demo-competition
參加競賽
在導覽到競賽首頁後,按一下 [參加競賽]來閱讀並確認規則
提交第一項內容
前往「程式碼」分頁,然後點選「新增筆記本」。畫面上會開啟筆記本,方便您將資源提交至比賽。
首先,我們要解讀訓練和測試資料
# 讀取測試及訓練資料
train = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')
test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')
來看看資料。
# 查看一些資料
train.head()
現在準備訓練資料本例中我們排除性別,因為它不是數字值。(提示:只要判斷資料包含的計算方式,可望改善模型成效)。
# 捨棄測試資料的結果
data = train.drop(columns=[‘Age', ‘Sex'])
答案 = 火車 [「年齡」
接著來建立模型以這個例子來說,我們要執行隨機的樹系模型。
來自模型的 #
來自 sklearn.model_selection 匯入 train_test_split
來自 sklearn.ensemble 匯入 RandomForestRegressor
從 sklearn.metrics 匯入總值_absolute_error
模型 = RandomForestRegressor()
# 訓練模型
model.fit(資料, 答案)
建立提交內容:
Predicts = model.predict(test.drop(columns=[‘Sex'])
submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})
submit.to_csv(‘submission.csv', index=False)
完成後,您可以選取 [提交給競賽],提交參賽資料右側選單。
舉辦精彩競賽的訣竅
- 請務必加入用來建立基本提交內容的入門筆記本
- 鼓勵在競賽初期利用討論、分享筆記本
- 祝你玩得愉快!;-)