数据集不平衡检测与重采样

检测 CSV 或 JSON 数据集中的类别不平衡,对比重采样策略,并预览平衡后的输出数据集

粘贴 CSV 数据集或上传 CSV/JSON 文件,然后指定分类标签列。工具会统计每个类别的数量,计算不平衡比例,提示更适合使用过采样还是欠采样,并生成平衡数据预览。

使用说明:

  • 数据集输入:适合快速粘贴 CSV
  • 数据文件:适合上传已有的 CSV 或 JSON
  • 标签列:指定要分析的目标类别字段
  • 重采样策略:选择 none、oversample 或 undersample
  • 导出格式:以 JSON 或 CSV 预览平衡结果
  • 预览行数:控制预览表里显示多少行

说明:

  • 过采样会复制少数类样本直到接近多数类数量
  • 欠采样会裁剪多数类样本到少数类规模
  • 报告会同时展示两种策略的对比分布
  • 如果后续要做更高级的 ML 处理,这个工具可以帮助判断是否值得再引入 SMOTE

示例结果

1 个示例

检查一个 95:5 的欺诈数据集

测量类别倾斜,比较过采样和欠采样,并导出平衡后的训练预览。

Original distribution
查看输入参数
{ "datasetInput": "id,label,amount\n1,normal,20\n2,normal,21\n3,normal,19\n4,normal,22\n5,fraud,300", "labelColumn": "label", "strategy": "oversample", "exportFormat": "json", "previewRows": 10 }

Click to upload file or drag and drop file here

Maximum file size: 20MB Supported formats: text/csv, application/json, text/plain, .csv, .json

关键信息

分类
数据与表格
输入类型
textarea, file, text, select, number
输出类型
html
样本覆盖
4
支持 API
Yes

概览

一款专为机器学习和数据分析设计的数据集不平衡检测与重采样工具。支持通过粘贴或上传 CSV/JSON 文件,快速统计目标标签列的类别分布,计算不平衡比例。工具不仅能直观展示数据倾斜情况,还提供过采样(Oversample)和欠采样(Undersample)策略对比,并允许以 JSON 或 CSV 格式预览平衡后的数据集,帮助您在进入模型训练前做出更优的数据处理决策。

适用场景

  • 在训练分类模型前,需要评估训练集是否存在严重的类别倾斜时。
  • 需要快速对比过采样和欠采样策略对当前数据集规模的影响时。
  • 希望在引入 SMOTE 等复杂算法前,先用基础重采样方法建立基线模型时。

工作原理

  • 粘贴 CSV 文本或上传本地的 CSV/JSON 数据集文件。
  • 指定用于分类的「标签列」名称,工具将自动统计各类别样本数量并计算不平衡比例。
  • 选择重采样策略(过采样或欠采样),系统会复制少数类或裁剪多数类以平衡数据。
  • 设置预览行数和导出格式,实时查看并获取平衡后的数据集预览。

使用场景

金融风控场景下,处理正常交易极多而欺诈交易极少的信用卡数据集。
医疗诊断分析中,平衡患病与未患病患者的样本数据,防止模型产生偏见。
客户流失预测中,对流失用户(少数类)进行过采样,以提高流失预警的准确率。

用户案例

1. 信用卡欺诈数据集重采样

数据科学家
背景原因
正在处理一份包含 10000 条交易记录的 CSV 数据,其中欺诈交易仅有 50 条(比例 99.5:0.5)。
解决问题
极度不平衡的数据会导致风控模型将所有交易都预测为正常,无法识别欺诈。
如何使用
粘贴 CSV 数据,将「标签列」设置为 label,选择 oversample 策略,导出格式选 json。
示例配置
{"labelColumn": "label", "strategy": "oversample", "exportFormat": "json", "previewRows": 10}
效果
工具生成了过采样后的报告,欺诈样本被复制扩充,类别比例达到 1:1,并输出了包含 10 行平衡数据的 JSON 预览。

2. 医疗疾病预测数据平衡

算法工程师
背景原因
收集了一份 JSON 格式的患者体征数据集,健康样本有 5000 个,确诊样本有 1200 个。
解决问题
需要快速生成一个类别均衡的子集用于快速训练决策树基线模型。
如何使用
上传 JSON 数据文件,指定标签列为 diagnosis,选择 undersample 策略,导出格式选 csv。
示例配置
{"labelColumn": "diagnosis", "strategy": "undersample", "exportFormat": "csv", "previewRows": 20}
效果
工具将健康样本随机裁剪至 1200 个,总数据量变为 2400,并提供了 20 行 CSV 格式的平衡数据预览。

用 Samples 测试

json, csv, text

相关专题

常见问题

什么是过采样(Oversample)和欠采样(Undersample)?

过采样是通过随机复制少数类样本使其数量与多数类一致;欠采样则是随机裁剪多数类样本,使其数量降至与少数类相同。

工具支持哪些格式的数据集输入?

支持直接粘贴 CSV 格式的文本,或者上传本地的 CSV 和 JSON 数据文件。

为什么需要处理数据集不平衡?

如果数据集中某类样本过多,机器学习模型可能会倾向于预测多数类,导致对少数类(如欺诈检测中的异常交易)的识别能力极差。

导出的平衡数据集可以直接用于训练吗?

可以。您可以通过选择 CSV 或 JSON 格式导出预览数据,用于初步的模型训练和基线测试。

预览行数有什么作用?

预览行数用于限制在结果报告中展示的平衡后数据条数,支持设置 3 到 50 行,方便快速检查数据格式是否正确。

API 文档

请求端点

POST /zh/api/tools/dataset-imbalance-detector-resampler

请求参数

参数名 类型 必填 描述
datasetInput textarea -
datasetFile file (需要先上传) -
labelColumn text -
strategy select -
exportFormat select -
previewRows number -

文件类型参数需要先通过 POST /upload/dataset-imbalance-detector-resampler 上传获取 filePath,然后将 filePath 传递给对应的文件字段。

响应格式

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-dataset-imbalance-detector-resampler": {
      "name": "dataset-imbalance-detector-resampler",
      "description": "检测 CSV 或 JSON 数据集中的类别不平衡,对比重采样策略,并预览平衡后的输出数据集",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=dataset-imbalance-detector-resampler",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

支持 URL 文件链接或 Base64 编码作为文件参数。

如果遇见问题,请联系我们:[email protected]