sample 節點從資料中隨機採樣指定比例或數量的記錄。支援全域採樣和分組採樣,可與聚類節點群組合實現多樣性採樣。
功能說明
sample 節點支援兩種取樣模式:
全域採樣:從整體資料中隨機採樣指定比例(
ratio)或數量(n)的記錄。分組採樣:按指定分組列(
by)分組後,每組內獨立隨機採樣。
常與上遊 semantic-cluster 組合使用,先聚類再按簇分組取樣,在降採樣的同時保證語義多樣性。
適用情境
大規模資料的快速下採樣。
與 semantic-cluster 組合實現多樣性採樣。
按類別、標籤或簇 ID 等維度均勻抽樣。
LLM 處理前控制資料量,降低調用成本。
節點配置
以下為 sample 節點的基本配置格式:
{
"id": "node_1",
"type": "sample",
"parameters": {
"ratio": "<採樣率>",
"n": "<採樣條數>",
"by": "<分組列>",
"output": "<輸出資料行列表>"
}
}參數說明
參數 | 類型 | 必填 | 預設值 | 說明 |
| String/Number | 與 | - | 採樣率,取值範圍 (0, 1]。例如 |
| Integer | 與 | - | 採樣條數,固定輸出指定數量的記錄。與 |
| String | 否 | - | 分組列名,多列時使用英文逗號分隔。指定後啟用分組取樣模式,每組內獨立採樣。 |
| String | 否 |
| 節點輸出資料行,多列時使用英文逗號分隔。預設值 |
ratio 與 n 的選擇
情境 | 推薦參數 | 說明 |
保留指定百分比的資料 |
| 輸出量隨輸入量自動調整。 |
擷取固定條數的資料 |
| 輸出量固定,不受輸入規模影響。 |
每組取固定條數 |
| 配合聚類實現多樣性採樣。 |
每組保留指定百分比 |
| 按類別均勻採樣。 |
輸入和輸出
輸入要求
上遊節點輸出的任意列資料。
啟用
by參數時,輸入資料中必須包含指定的分組列。
輸出說明
不產生擴充列,僅根據採樣規則過濾行。
output參數控制最終輸出的列。預設值*保留全部列,指定列名時僅輸出對應的列。
行數變化:M → N(M ≥ N),採樣後輸出行數小於或等於輸入行數。
效果預覽
以下樣本示範分組採樣的效果:每個聚類簇中隨機取 1 條記錄。
處理前(6 條)
question | output | __cluster_id |
什麼是機器學習? | 機器學習是... | 0 |
機器學習有哪些類型? | 監督/無監督/強化... | 0 |
如何學習Python? | 推薦從官方教程... | 1 |
Python有哪些庫? | NumPy, Pandas... | 1 |
什麼是深度學習? | 深度學習是... | 2 |
神經網路是什嗎? | 神經網路由多層... | 2 |
處理後(3 條)
配置 n = 1,by = "__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:多維分組
按 category 和 difficulty 兩列組合分組,每組取 10 條:
{
"id": "n5",
"type": "sample",
"parameters": {
"by": "category,difficulty",
"n": 10
}
}限制與最佳實務
最佳實務
在 LLM 處理前使用 sample 節點降採樣,可控制 AI 調用成本。
多樣性採樣推薦組合:semantic-cluster →
sample(按by = "__cluster_id"分組取樣)。分層均勻採樣:使用
by按類別或標籤列分組,每組獨立採樣。
採樣具有隨機性,每次執行結果可能不同。
邊界行為
情境 | 行為 |
| 校正失敗。 |
| 校正失敗。 |
| 校正失敗。 |
| 校正失敗。 |
| 運行時報錯。 |
| 返回全部資料。 |
輸入資料為空白 | 正常返回空結果集。 |