全部產品
Search
文件中心

Cloud Monitor:sample(隨機採樣)

更新時間:May 01, 2026

sample 節點從資料中隨機採樣指定比例或數量的記錄。支援全域採樣和分組採樣,可與聚類節點群組合實現多樣性採樣。

功能說明

sample 節點支援兩種取樣模式:

  • 全域採樣:從整體資料中隨機採樣指定比例(ratio)或數量(n)的記錄。

  • 分組採樣:按指定分組列(by)分組後,每組內獨立隨機採樣。

常與上遊 semantic-cluster 組合使用,先聚類再按簇分組取樣,在降採樣的同時保證語義多樣性。

適用情境

  • 大規模資料的快速下採樣。

  • semantic-cluster 組合實現多樣性採樣。

  • 按類別、標籤或簇 ID 等維度均勻抽樣。

  • LLM 處理前控制資料量,降低調用成本。

節點配置

以下為 sample 節點的基本配置格式:

{
  "id": "node_1",
  "type": "sample",
  "parameters": {
    "ratio": "<採樣率>",
    "n": "<採樣條數>",
    "by": "<分組列>",
    "output": "<輸出資料行列表>"
  }
}

參數說明

參數

類型

必填

預設值

說明

ratio

String/Number

n 二選一

-

採樣率,取值範圍 (0, 1]。例如 0.1 表示採樣 10%。與 n 互斥,不可同時指定。

n

Integer

ratio 二選一

-

採樣條數,固定輸出指定數量的記錄。與 ratio 互斥,不可同時指定。

by

String

-

分組列名,多列時使用英文逗號分隔。指定後啟用分組取樣模式,每組內獨立採樣。

output

String

*

節點輸出資料行,多列時使用英文逗號分隔。預設值 * 保留全部列(含擴充列),指定時僅輸出資料行出的列。

ratio 與 n 的選擇

情境

推薦參數

說明

保留指定百分比的資料

ratio: 0.1

輸出量隨輸入量自動調整。

擷取固定條數的資料

n: 100

輸出量固定,不受輸入規模影響。

每組取固定條數

by: "__cluster_id", n: 1

配合聚類實現多樣性採樣。

每組保留指定百分比

by: "category", ratio: 0.2

按類別均勻採樣。

輸入和輸出

輸入要求

  • 上遊節點輸出的任意列資料。

  • 啟用 by 參數時,輸入資料中必須包含指定的分組列。

輸出說明

  • 不產生擴充列,僅根據採樣規則過濾行。

  • output 參數控制最終輸出的列。預設值 * 保留全部列,指定列名時僅輸出對應的列。

行數變化:M → N(M ≥ N),採樣後輸出行數小於或等於輸入行數。

效果預覽

以下樣本示範分組採樣的效果:每個聚類簇中隨機取 1 條記錄。

處理前(6 條)

question

output

__cluster_id

什麼是機器學習?

機器學習是...

0

機器學習有哪些類型?

監督/無監督/強化...

0

如何學習Python?

推薦從官方教程...

1

Python有哪些庫?

NumPy, Pandas...

1

什麼是深度學習?

深度學習是...

2

神經網路是什嗎?

神經網路由多層...

2

處理後(3 條)

配置 n = 1by = "__cluster_id",每個簇隨機取 1 條:

question

output

__cluster_id

機器學習有哪些類型?

監督/無監督/強化...

0

如何學習Python?

推薦從官方教程...

1

什麼是深度學習?

深度學習是...

2

說明

每個簇隨機取 1 條,6 條資料採樣後變為 3 條。本節點不產生擴充列,僅過濾行。

使用樣本

樣本 1:全域隨機採樣 10%

從整體資料中隨機採樣 10% 的記錄:

{
  "id": "n5",
  "type": "sample",
  "parameters": {
    "ratio": 0.1
  }
}

樣本 2:全域採樣固定條數

從整體資料中固定採樣 100 條記錄:

{
  "id": "n5",
  "type": "sample",
  "parameters": {
    "n": 100
  }
}

樣本 3:聚類 + 分組採樣(推薦)

先通過 semantic-cluster 聚為 100 簇,再每簇取 1 條,實現多樣性採樣:

{
  "nodes": [
    {
      "id": "n4",
      "type": "semantic-cluster",
      "parameters": {
        "field": "__dedup_emb",
        "n": 100
      }
    },
    {
      "id": "n5",
      "type": "sample",
      "parameters": {
        "by": "__cluster_id",
        "n": 1
      }
    }
  ]
}

先聚為 100 簇,每簇取 1 條,最終輸出約 100 條多樣性樣本。

樣本 4:按類別分組採樣

category 列分組,每組保留 20% 的記錄:

{
  "id": "n5",
  "type": "sample",
  "parameters": {
    "by": "category",
    "ratio": 0.2
  }
}

樣本 5:多維分組

categorydifficulty 兩列組合分組,每組取 10 條:

{
  "id": "n5",
  "type": "sample",
  "parameters": {
    "by": "category,difficulty",
    "n": 10
  }
}

限制與最佳實務

最佳實務

  • 在 LLM 處理前使用 sample 節點降採樣,可控制 AI 調用成本。

  • 多樣性採樣推薦組合:semantic-clustersample(按 by = "__cluster_id" 分組取樣)。

  • 分層均勻採樣:使用 by 按類別或標籤列分組,每組獨立採樣。

說明

採樣具有隨機性,每次執行結果可能不同。

邊界行為

情境

行為

ration 均未指定

校正失敗。

ration 同時指定

校正失敗。

ratio 超出 (0, 1] 範圍

校正失敗。

n ≤ 0

校正失敗。

by 指定的列不存在

運行時報錯。

n 大於資料量

返回全部資料。

輸入資料為空白

正常返回空結果集。