ed001/ds-coder-instruct-v1
收藏数据集卡片 DS Coder Instruct 数据集
数据集概述
DS Coder 是一个用于语言模型指令微调的数据集,专注于数据科学领域(如绘图、数据处理、机器学习模型、深度学习和数值计算)。该数据集包含 R 和 Python 的代码示例,旨在支持创建适用于数据科学项目的小规模、专业化语言模型助手。
数据集详情
数据集描述
DS Coder 指令数据集包含 (输入, 指令, 输出) 三元组。指令提供数据科学领域的任务,输出包含解决该任务的代码。此外,还包含 文本 字段,用于保存 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
使用此数据集时,请确保引用上述来源。
数据集创建
DS Coder 通过筛选和处理现有的公开 (指令, 代码) 数据集对创建。源数据被过滤,仅保留与数据科学应用相关的代码。过滤过程使用正则表达式来收集使用流行数据科学库(如 Matplotlib、Sklearn、PyTorch 等)的 Python 和 R 代码。然后,进一步处理数据以过滤掉代码过长或过短的样本,以及代码输出中注释过多而代码量少的样本。此外,指令过长或过短的样本也被移除。
过滤后,基于输出代码和输入指令进行精确去重。经过此过程,大约保留了 16K 个样本。
过滤
过滤过程的第一步是从源数据集中收集与数据科学应用相关的所有样本。为此,对 代码 和 指令 应用正则表达式过滤。正则表达式过滤主要查找流行数据科学库的导入和使用。收集相关代码样本后,基于行长度、指令长度、字母数字比率和注释与代码比率进行进一步过滤。
过滤参数如下:
- 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%。
数据分析
本节提供了数据集的一些分析。展示了代码长度、语言分布以及数据科学任务的分布。主题分布显示了代码中使用的概念的分布。某些领域,如绘图,与其他领域相比代表性不足。可以使用主题列来选择特定任务的样本。



