使用正则表达式来拆分数据

重要

对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习

从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。

ML 工作室(经典)文档即将停用,将来可能不会更新。

本文介绍如何在机器学习 Studio (经典) 的拆分数据模块中使用正则表达式拆分选项。 当你需要对文本列应用筛选条件时,此选项很有用。 例如,你可以根据是否提及特定产品来划分数据集。

注意

适用于:仅限机器学习 Studio (经典)

可在 Azure 机器学习设计器中获取类似的拖放模块。

您可以对单个文本列使用 正则表达式拆分 。 您可以定义包含文本列名的正则表达式,然后设置适用于该列的条件,如 "开头为"、"包含" 或 "不包含"。

有关机器学习试验的数据分区的常规信息,请参阅 拆分数据分区和拆分

" 拆分数据 " 模块中的其他选项:

使用正则表达式来划分数据集

  1. 将 " 拆分数据 " 模块添加到实验,并将其作为输入连接到要拆分的数据集。

  2. 对于“拆分模式”,请选择“正则表达式拆分” 。

  3. 在“正则表达式”框中,键入有效的正则表达式此处提供一些示例。

    正则表达式仅应用于指定的列,该列必须是字符串数据类型。

    有关编写正则表达式的帮助,请参阅 正则表达式语言-快速参考

  4. 运行试验,或右键单击模块并选择 " 运行所选项"。

    根据你提供的正则表达式,数据集分为两组行:值与表达式匹配的行和所有剩余行。

示例

下面的示例演示如何使用 正则表达式 选项来划分数据集。

单个完整单词

此示例将包含列 Text 中的文本 Gryphon 的所有行放入第一个数据集,并将其他行放入拆分数据的第二个输出中:

    \"Text" Gryphon  

Substring

此示例在数据集的第二列中的任意位置查找指定的字符串,此处用索引值1表示。 匹配区分大小写。

(\1) ^[a-f]

第一个结果数据集包含索引列以以下字符之一开头的所有行:abcdef。 所有其他行将定向到第二个输出。

IP 地址上的字符串匹配

此示例将一些服务器日志数据分为两个类别进行分析:防火墙后的连接和防火墙外的 IP 地址的连接。 正则表达式应用 IP_Address 于) 字符串 数据类型 (字段。

(\IP_Address) ^[10]

第一个输出包含以开头 10 的所有地址。

另请参阅

样本和拆分
分区和采样