遇见数据集

ed001/ds-coder-instruct-v1

收藏
Hugging Face2024-01-03 更新2024-03-04 收录
官方服务:

资源简介:

DS Coder是一个专注于数据科学领域的指令微调数据集,包含Python和R的代码示例。数据集由(input, instruction, output)三元组构成,其中instruction提供数据科学领域的任务,output包含解决任务的代码。数据集还包含Alpaca风格的输入文本字段,以及编程语言和主题的元数据。数据集通过过滤和预处理公开可用的数据集创建,主要关注使用流行数据科学库的代码。过滤过程包括基于行长度、指令长度、字母数字比例和注释与代码比例的进一步筛选。数据集最终保留了大约16K个样本。

DS Coder是一个专注于数据科学领域的指令微调数据集,包含Python和R的代码示例。数据集由(input, instruction, output)三元组构成,其中instruction提供数据科学领域的任务,output包含解决任务的代码。数据集还包含Alpaca风格的输入文本字段,以及编程语言和主题的元数据。数据集通过过滤和预处理公开可用的数据集创建,主要关注使用流行数据科学库的代码。过滤过程包括基于行长度、指令长度、字母数字比例和注释与代码比例的进一步筛选。数据集最终保留了大约16K个样本。

提供机构:
ed001
原始信息汇总

数据集卡片 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%。

数据分析

本节提供了数据集的一些分析。展示了代码长度、语言分布以及数据科学任务的分布。主题分布显示了代码中使用的概念的分布。某些领域,如绘图,与其他领域相比代表性不足。可以使用主题列来选择特定任务的样本。

搜集汇总
数据集介绍
构建方式
DS Coder Instruct数据集专为数据科学领域的大语言模型指令微调而设计,聚焦于绘图、数据整理、机器学习、深度学习及数值计算等任务。该数据集从HuggingFace上多个公开的代码指令数据集(如Evol-Instruct-Code-80k-v1、code_instructions_122k_alpaca_style等)中筛选与处理而成。构建过程首先利用正则表达式匹配Python和R语言中常用数据科学库(如Matplotlib、Sklearn、PyTorch等)的导入与使用,以提取相关样本。随后,依据代码行长度、指令长度、字母数字比例及注释与代码比例等参数进行精细过滤,剔除过长、过短或信息量低的样本。最后,基于输出代码与输入指令进行精确去重,最终保留约1.6万条高质量三元组(输入、指令、输出),并附有编程语言、主题标签及数据来源等元信息。
特点
该数据集以数据科学领域的专业性和针对性著称,其样本覆盖Python与R两种主流编程语言,主题标签(topics)明确标识代码中涉及的概念(如机器学习、神经网络、绘图等),便于用户按需提取子集。数据来源多样化,使样本在指令长度与代码风格上呈现丰富差异:部分来源提供简洁精炼的示例,另一些则包含详细描述,这种多样性有助于训练模型适应不同复杂度的任务。此外,数据集经过严格去重与质量过滤,确保样本的独特性与实用性,尤其适合构建小规模、专业化数据科学助手。
使用方法
数据集以JSONL格式存储,每条记录包含input、instruction、output三元组及metadata字段。用户可直接加载用于指令微调,其中instruction字段描述任务目标,output字段提供标准代码解答。通过topics字段可筛选特定主题(如仅选择绘图相关样本),利用dataset字段追溯原始来源以评估数据适用性。代码过滤脚本已开源在wrangler仓库中,支持用户自定义参数处理额外数据集。建议在使用时引用原始数据源,并遵循CC-BY-NC-SA-4.0许可协议。
背景与挑战
背景概述
在人工智能与数据科学交叉领域快速发展的背景下,专门化语言模型助手的构建成为提升代码生成效率的关键。由研究者Ea0011于近期创建的ed001/ds-coder-instruct-v1数据集,聚焦于数据科学场景的指令微调,旨在解决通用代码模型对数据科学任务(如绘图、数据清洗、机器学习建模及数值计算)针对性不足的问题。该数据集整合了Evol-Instruct-Code-80k-v1、code_instructions_122k_alpaca_style等多个公开资源,通过精细化的筛选与去重流程,保留了约16K高质量样本,并同时覆盖Python与R两种语言。其出现为训练轻量级、领域专用的数据科学助手提供了核心数据基础,推动了代码生成模型在垂直场景中的实用化进程。
当前挑战
当前数据集面临多重挑战。在领域问题层面,数据科学任务涵盖广泛且技术栈多样(如Pandas、PyTorch、ggplot2等),现有样本在绘图等特定子领域分布不均,导致模型对少数任务的泛化能力受限。构建过程中,从海量开源代码中精准提取数据科学相关样本依赖正则匹配,易遗漏使用非典型库的优质代码;同时,过滤规则(如代码长度限制、注释比例阈值)虽参考BigCode方案,但可能剔除简洁高效的实现或保留冗余模板。此外,跨语言(Python与R)的代码风格差异与多源数据集的指令长度歧义性,增加了样本一致性的维护难度,影响下游模型微调的稳定性。
常用场景
经典使用场景
在自然语言处理与代码生成交叉领域,ed001/ds-coder-instruct-v1数据集被广泛用于指令微调数据科学领域的小型语言模型。其经典用法在于利用(input, instruction, output)三元组结构,训练模型理解数据科学任务描述并生成对应的R或Python代码。研究者常基于该数据集构建轻量级、领域专用的代码助手,专注于数据可视化、数据清洗、机器学习建模与数值计算等典型场景,通过精准的指令-代码映射提升模型在数据科学任务上的执行准确率。
实际应用
在实际应用中,该数据集支撑了数据科学智能助手的开发与部署。企业数据分析团队可基于微调后的模型实现自然语言驱动的自动化报表生成、探索性数据分析脚本编写及机器学习流水线搭建。例如,用户输入“绘制2023年销售数据的月度趋势折线图”,模型即可输出完整的Matplotlib代码。这种能力降低了数据科学从业者的编程门槛,加速了从问题定义到代码实现的迭代周期,尤其适用于快速原型设计与非专业用户的交互式分析场景。
衍生相关工作
该数据集衍生了一系列重要研究工作,主要集中于领域特定代码生成与指令微调优化。受其启发,研究者提出了面向数据科学任务的混合数据增强策略,通过融合多源指令数据集提升模型鲁棒性;同时,基于DS Coder Instruct的元数据(如语言类型、主题标签),涌现出动态样本选择与课程学习等训练范式,以缓解数据不平衡问题。此外,该数据集被用作评测基准,验证了对比学习与检索增强生成在代码补全任务中的有效性,为后续构建更高效的数据科学代码助手奠定了方法论基础。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务