URL 归一化
URL 归一化
出于各种各样的原因,在/jiage/CODE.html
。
/jiage/AA.html
/jiage/BB.html
/jiage/CC.html
/jiage/DD.html
目前业内对
算法 | 优点 | 缺点 |
---|---|---|
正则表达式 | 速度最快 | 欠拟合 |
模式树方法 | 提供一个自顶向下树形结构的思路 | 欠拟合、过拟合问题并存,速度最慢 |
基于流量画像方法 | 针对不同站点做流量画像,速度较快 | 存在过拟合现象 |
在实际的工程实践中,单看一个
- 离线训练是指算法的训练过程
, 通过不断迭代和采样创建接近实际的训练池,从全局看到每个接口的全部流量以及其周围全部的接口,输出待归一化接口的聚类中心点表供线上使用,这部分需要保证准确率。 - 在线使用是指来一条
URL 过来就可以判断出其是否需要进行归一化处理,如果需要归一化则给出正确的URL Pattern ,这部分需要保证高效率。
文本聚类
使用
-
BIRCH 算法是一种流式建立CF Tree 过程,每读入一个样本点计算它与现有CF 节点海明距离,如果在半径为T 的超球体范围内,则更新样本到该CF 节点中,反之,再建立一个新的CF 节点。但是这种方法会因为样本读入顺序导致树结构不合理,因此在本算法中第一步使用K-Means ,将原本建立一棵CF Tree 改为建立CF Forest ,对训练池所有样本进行一次K-Means ,生成若干个簇,在每个簇内再建立一颗CF Tree ; -
K-Means 后先对每个簇进行评估,簇满足以下两个条件则认为该簇的URL 可以进行归一化,则该簇停止节点分裂并将中心点加入到聚类中心点表:一个簇的SSE (Sum of Squares for Error,残差平方和)<n; 一个簇的内距离中心点小于l 的样本个数大于15 ; -
每个簇在建立
CF Tree 前进行异常点筛选,这一步骤可以检测出ground truth 中的异常样本; -
建立
CF Tree 过程中每次节点分裂前,对CF 节点进行评估,看其是否满足URL 归一化要求,如满足则停止节点分裂并加入聚类中心表,反之继续分裂; -
BIRCH 调参非常重要,参数对最终形成的CF Tree 影响很大,根据大量的实验调参,每个叶子节点的最大参数CF 为4 ,叶子节点中某个CF 的样本数为20 ;
本算法最重要的产物不是