跳到內容
Skynet文件
頁面

概念

數據集同分割

Skynet 點樣讀取你嘅案例,再分成訓練、驗證同測試。

數據集係一張案例表。每一列係一個案例。Skynet 會喺案例上運行你嘅成品、幫每個輸出評分,再用分數比較唔同版本。呢頁解釋 Skynet 點樣讀取案例、欄位角色有乜作用,同埋佢點樣將案例分割成訓練、驗證同測試集。

載入數據

喺精靈嘅 輸入 步驟,你有兩個選擇:

  • 上載 CSV、JSON 或 Excel 檔案。Skynet 接受 .csv、.json、.xlsx 同 .xls 檔案。
  • 由資料庫揀。用一個你之前儲存咗嘅數據集。

一次運行最多可以有 200,000 個案例。

想管理已儲存嘅數據集,請睇 準備數據集。

欄位角色

喺 點樣讀取資料 下面,幫每一欄設定一個角色:

角色Skynet 點樣處理呢一欄
輸入將值放入 input,由你嘅運行程式碼接收
輸出將值放入 expected,由你嘅指標接收
略過唔用呢一欄

每一欄亦有一個類型:文字 或者 圖片。

只可以有一欄係輸出欄。如果你將第二欄設做輸出,第一欄就會變成略過。

你嘅程式碼會收到乜

Skynet 會為每一列建立一個案例:

  • input 係一個 dict。每個輸入欄都有一個 key。
  • expected 係一個得一個 key 嘅 dict:key 就係輸出欄嘅名稱。

以呢張表為例:

messagelabelid
I was charged twicebilling17

角色係 message = 輸入、label = 輸出、id = 略過,你嘅程式碼會收到:

{"message": "I was charged twice"}

數據模式

角色會決定運行嘅數據模式:

模式幾時會點
成對有一欄係輸出每一列都係一個有輸入同預期值嘅案例。你最少需要 2 列。
單一冇欄係輸出運行只用第一列嘅輸入欄。佢係一個冇預期值嘅案例。

喺單一模式,Skynet 會用嗰一個案例做訓練、揀選同報告。冇任何數據預留起。

分割

喺成對模式,Skynet 會將案例分割成三個集:

集用途
訓練引擎喺呢啲案例上提出同測試版本。
驗證(Val)Skynet 喺呢啲案例上揀最佳版本。
測試Skynet 喺呢啲案例上報告最終分數。

預設分割

成對數目訓練驗證測試
5 或以上70%15%15%
少過 585%15%0%

如果少過 5 對,Skynet 唔會保留測試集。

Skynet 點樣計案例數目

Skynet 用最大餘數法,將比例轉做整數嘅案例數目。各個數目加埋一定等於案例總數。比例大過零嘅集最少會分到一個案例。比例係零嘅集唔會分到任何案例。

分割之前,Skynet 會打亂案例次序。打亂用運行嘅 seed。如果你冇畀 seed,Skynet 會由案例、目標同成品產生一個。所以如果你再提交同一個運行,你會得到同一個分割。

後備規則

  • 如果少過 5 對,Skynet 會移除測試集,並按比例調整訓練同驗證,令佢哋加埋等於 1。
  • 如果訓練集係空,Skynet 會用驗證案例做訓練。
  • 如果冇驗證集,Skynet 會喺訓練案例上揀選。
  • 如果冇測試集,Skynet 會喺驗證集上報告。如果連驗證集都冇,就喺訓練集上報告。

改分割

分割部分會顯示 建議切分比例。佢有兩個模式:

  1. 使用建議設定:Skynet 用上面嘅預設分割。
  2. 手動選擇:你自己設定 訓練、驗證 同 測試。

喺手動選擇入面,每個欄位接受 0 至 1 嘅比例,每格 0.05。每個欄位會顯示佢分到幾多個案例。三個比例加埋一定要等於 1。如果唔係,精靈會顯示「劃分比例加埋要等於 1。」

合約示例

指標同執行 步驟嘅合約檢查,會喺 3 個示例案例上運行你嘅程式碼。Skynet 只會由訓練同驗證案例攞呢啲示例,永遠唔會由測試集攞。

相關頁面