ed001/ds-coder-instruct-v2
收藏数据集卡片 for DS Coder Instruct v2 数据集
数据集详情
数据集描述
DS Coder instruct 数据集包含 (输入, 指令, 输出) 三元组。指令提供数据科学领域的任务,输出包含解决该任务的代码。如果可用,还包含 文本 字段,持有 Alpaca 风格的输入。元数据,如编程语言 (lang) 和主题 (topics) 也被提供。topics 列出了代码中使用的概念(例如 ML、神经网络、绘图等)。这是根据代码使用的库类型确定的。此字段可用于获取特定任务的数据子集,例如数据可视化。
此外,原始数据源在 dataset 字段下提供。
数据集来源
DS Coder 是从 HuggingFace 上的公开可用数据集集合中筛选和预处理的。所有来源及其相应链接如下:
- nickrosh/Evol-Instruct-Code-80k-v1: https://huggingface.co/datasets/nickrosh/Evol-Instruct-Code-80k-v1
- TokenBender/code_instructions_122k_alpaca_style: https://huggingface.co/datasets/TokenBender/code_instructions_122k_alpaca_style
- theblackcat102/evol-codealpaca-v1: https://huggingface.co/datasets/theblackcat102/evol-codealpaca-v1
- ise-uiuc/Magicoder-OSS-Instruct-75K: https://huggingface.co/datasets/ise-uiuc/Magicoder-OSS-Instruct-75K
- WizardLM/WizardLM_evol_instruct_V2_196k: https://huggingface.co/datasets/ise-uiuc/WizardLM_evol_instruct_V2_196k
请在使用此数据集时确保引用上述提到的来源。您应该访问这些页面并查找特定的使用说明(如果有)。
数据集创建
DS Coder 是通过筛选和处理现有的公开 (指令, 代码) 数据集对创建的。源数据被筛选以仅保留与数据科学应用相关的代码。筛选是通过使用正则表达式来收集使用流行数据科学库(例如 Matplotlib、Sklearn、PyTorch 等)的代码来完成的。然后,数据进一步处理以过滤掉代码非常长或非常短的样本。代码输出中包含大量注释和少量代码的样本被过滤掉。此外,指令非常长或非常短的样本也被移除。
筛选后,基于输出代码和输入指令进行精确去重。经过此过程,大约剩下 16K 样本。
筛选
筛选过程的第一步是从源数据集中收集所有与数据科学应用相关的代码样本。为此,对 代码 和 指令 应用正则表达式筛选。正则表达式筛选主要寻找流行数据科学库的导入和使用,例如 Pandas 或 PyTorch。收集了 Python 和 R 中的数据科学代码。
收集相关代码样本后,基于行长度、指令长度、字母数字比率和注释与代码比率进行进一步筛选。代码筛选类似于 BigCode。筛选参数如下所示,源自那里。此阶段确保移除非常短、非常长和不具信息的样本。筛选脚本可以在本仓库中找到 Ea0011/wrangler。您可以使用筛选脚本来处理其他数据集或调整参数。
筛选参数如下:
- line_max: 允许的最大行长度为 1000 个字符。
- line_mean: 允许的最大平均行长度为 100 个字符。
- alpha_frac: 允许的最小字母数字字符比率为 25%。
- min_inst_size: 最小指令大小为 5 个单词。
- max_inst_size: 最大指令大小为 1000 个单词。
- max_threshold_comments: 注释与代码比率的最大阈值为 80%。
- min_threshold_comments: 注释与代码比率的最小阈值为 1%。
数据分析
本节提供了数据集的一些分析。代码长度和数据科学任务的分布显示了概念在代码中使用的分布。一些领域,如绘图,与其他领域相比代表性不足。您可以使用主题列来选择特定任务的样本。



