如今,機器學習已成為金融、醫療、軟體和資料科學等各行各業不可或缺的一部分。然而,要開發一個良好且有效的機器學習模型,搭建必要的環境和工具至關重要,有時也會帶來諸多問題。想象一下,無需任何複雜的設定和安裝,直接在瀏覽器中訓練像 XGBoost 這樣的模型。這不僅簡化了流程,也讓機器學習更容易被大眾接受。在本文中,我們將介紹什麼是基於瀏覽器的 XGBoost,以及如何使用它在瀏覽器上訓練模型。
什麼是XGBoost?
極限梯度提升(Extreme Gradient Boosting),簡稱 XGBoost,是一種可擴充套件且高效的梯度提升技術實現,旨在提高速度、效能和可擴充套件性。它是一種整合技術,結合多個弱學習器進行預測,每個學習器都在前一個學習器的基礎上進行改進以糾正錯誤。
它是如何工作的?
XGBoost 是一種整合技術,它利用決策樹、基礎學習器或弱學習器,並採用正則化技術來增強模型泛化能力。這也有助於降低模型過擬合的可能性。決策樹(基礎學習器)採用順序方法,使得後續的每一棵樹都試圖最小化前一棵樹的誤差。因此,每棵樹都會從前一棵樹的誤差中學習,而下一棵樹則使用前一棵樹更新後的殘差進行訓練。
這試圖透過最佳化損失函式來幫助糾正前一棵樹的誤差。這就是模型效能隨著每次迭代逐步提升的方式。XGBoost 的主要特性包括:
- 正則化
- 樹修剪
- 並行處理
如何在瀏覽器中進行訓練?
我們將使用 TrainXGB 在瀏覽器上完全訓練我們的 XGBoost 模型。為此,我們將使用來自 Kaggle 的房價預測資料集。在本節中,我將指導您完成瀏覽器模型訓練的每個步驟,選擇適當的超引數,並評估訓練模型的推斷,所有這些都使用價格預測資料集。
理解資料
現在讓我們開始上傳資料集。點選“Choose file”,然後選擇要用於訓練模型的資料集。應用程式允許您選擇 CSV 分隔符以避免任何錯誤。開啟您的 CSV 檔案,檢查特徵或列的分隔方式,然後選擇一個。否則,如果選擇其他分隔符,則會顯示錯誤。
檢查資料集特徵之間的相互關係後,只需點選“Show Dataset Description”。它將快速彙總資料集數值列中的重要統計資料。它提供諸如平均值、標準差(顯示資料的分佈)、最小值和最大值以及 25%、50% 和 75% 百分位數等值。點選後,它將執行 describe 方法。
選擇訓練集-測試集拆分的特徵
成功上傳資料後,點選“Configuration”按鈕,進入下一步,我們將選擇訓練集的重要特徵和目標特徵(我們希望模型預測的內容)。本資料集的目標特徵是“Price”,因此我們選擇它。
設定超引數
接下來,選擇模型型別,無論是分類器還是迴歸器。這完全取決於你選擇的資料集。檢查你的目標列是連續值還是離散值。如果是離散值,則為分類問題;如果是連續值,則為迴歸問題。
根據所選的模型型別,我們還將選擇評估指標,這將有助於最大限度地降低損失。在我的例子中,我需要預測房價,所以這是一個連續問題,因此我選擇了 RMSE 最低的迴歸器。
此外,我們可以透過選擇超引數來控制 XGBoost 樹的生長方式。這些超引數包括:
- 樹方法:在樹方法中,我們可以選擇 hist、auto、exact、approx 和 gpu_hist。我使用了 hist,因為它在處理大型資料集時速度更快、效率更高。
- 最大深度:設定每棵決策樹的最大深度。數值越大,樹可以學習更復雜的模式,但數值不宜過大,否則容易導致過擬合。
- 樹數:預設值為 100。它表示用於訓練模型的樹的數量。理想情況下,樹越多可以提高模型的效能,但訓練速度也會越慢。
- 子樣本:它是輸入到每棵樹的訓練資料的比例。如果為 1,則表示所有行,因此最好保持較低的值以減少過擬合的可能性。
- Eta:代表學習率,它控制模型在每一步的學習量。值越低,速度越慢,但準確性也越高。
- Colsample_bytree/bylevel/bynode:這些引數用於在樹生長過程中隨機選擇列。較低的值會引入隨機性,有助於防止過擬合。
訓練模型
設定好超引數後,下一步就是訓練模型。為此,請前往“Training & Results”,然後點選“Train XGBoost”,即可開始訓練。
它還會顯示即時圖表,以便您即時監控模型訓練的進度。
訓練完成後,您可以下載訓練好的權重,並在本地使用。它還會以條形圖的形式展示訓練過程中最有幫助的特徵。
檢查模型在測試資料上的效能
現在,我們已經對模型進行了訓練並基於資料進行了微調。接下來,讓我們嘗試使用測試資料來檢視模型的效能。為此,請上傳測試資料並選擇目標列。
現在,點選“Run inference”即可檢視模型在測試資料上的效能。
小結
過去,構建機器學習模型需要手動設定環境和編寫程式碼。但現在,像 TrainXGB 這樣的工具徹底改變了這一切。在這裡,我們無需編寫任何程式碼,因為一切都在瀏覽器中執行。像 TrainXGB 這樣的平臺讓這一切變得非常簡單,我們可以上傳真實資料集、設定超引數並評估模型的效能。這種向基於瀏覽器的機器學習的轉變,讓更多人能夠學習和測試,而無需擔心設定問題。然而,這僅限於某些模型,但未來,新的平臺可能會帶來更強大的演算法和功能。
評論留言