使用正则表达式来拆分数据
重要
对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习。
从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。
ML 工作室(经典)文档即将停用,将来可能不会更新。
本文介绍如何在机器学习 Studio (经典) 的拆分数据模块中使用正则表达式拆分选项。 当你需要对文本列应用筛选条件时,此选项很有用。 例如,你可以根据是否提及特定产品来划分数据集。
您可以对单个文本列使用 正则表达式拆分 。 您可以定义包含文本列名的正则表达式,然后设置适用于该列的条件,如 "开头为"、"包含" 或 "不包含"。
有关机器学习试验的数据分区的常规信息,请参阅 拆分数据 和 分区和拆分。
相关任务
" 拆分数据 " 模块中的其他选项:
使用相对表达式拆分数据:将表达式应用于数值数据。
拆分推荐器数据集:划分在建议模型中使用的数据集。 数据集应有三列:项、用户和分级
使用正则表达式来划分数据集
将 " 拆分数据 " 模块添加到实验,并将其作为输入连接到要拆分的数据集。
对于“拆分模式”,请选择“正则表达式拆分” 。
在“正则表达式”框中,键入有效的正则表达式。 此处提供一些示例。
正则表达式仅应用于指定的列,该列必须是字符串数据类型。
有关编写正则表达式的帮助,请参阅 正则表达式语言-快速参考。
运行试验,或右键单击模块并选择 " 运行所选项"。
根据你提供的正则表达式,数据集分为两组行:值与表达式匹配的行和所有剩余行。
示例
下面的示例演示如何使用 正则表达式 选项来划分数据集。
单个完整单词
此示例将包含列 Text
中的文本 Gryphon
的所有行放入第一个数据集,并将其他行放入拆分数据的第二个输出中:
\"Text" Gryphon
Substring
此示例在数据集的第二列中的任意位置查找指定的字符串,此处用索引值1表示。 匹配区分大小写。
(\1) ^[a-f]
第一个结果数据集包含索引列以以下字符之一开头的所有行:a
、b
、c
、d
、e
、f
。 所有其他行将定向到第二个输出。
IP 地址上的字符串匹配
此示例将一些服务器日志数据分为两个类别进行分析:防火墙后的连接和防火墙外的 IP 地址的连接。 正则表达式应用 IP_Address
于) 字符串 数据类型 (字段。
(\IP_Address) ^[10]
第一个输出包含以开头 10
的所有地址。