假设我收集了大约5000个产品代码,我该如何识别有效的字符串模式?
prod_codes = [
'03578180000',
'03573880000',
'03575350000',
'15459990000',
'15479850000',
'15481130000',
'15478930000',
'15479790000',
'15481150000',
'15479490000'
]
在这个小例子中,有两种不同风格的产品代码:154
和035(7)
s。我假设产品代码以0000
结尾。所有代码都是11长。但我希望技术能够使用更大的样本确定地告诉我。
最终,我想要一些有效格式的列表......比如
154\d{4}0000
0357\d{3}0000
上面的格式根本不重要,我只是想要洞察力,所以我可以放心地制作文档。
严格根据我自己的观察来回答这些问题可以很容易地进行测试,但首先很难识别,并且依赖于直觉。我可以通过运行一堆group_by
类型的过滤器来测试这个数据集,而另一个"一次测试一下这个理论"类型方法。
我的一般尝试可能是收集所有数据的每个字符位置的Set
,然后分析每个字符位置集的#size
。当我看到1-2大小的东西时,它告诉我这个数字在某种程度上是固定的。当我看到像5+这样的东西时,它告诉我它可能是\ d。使用此信息,尝试创建合理数量的格式字符串。
我可以搜索哪些机器学习策略来学习如何以这种方式分析这些数据?
这个算法有名字吗?我觉得可能有一些机器学习策略,不仅可以按字符分组我的数据,而且还可以找到类似^154
类型的模式,并在吃完我的数据集之后吐出一些想法。
我更喜欢我可以在Ruby或JS中使用的答案,但无论你能提供什么都会有所帮助。