在分析账号登陆异常的阈值分布取舍时,例如同phone每日登录次数分布,假定有1%、0.1%异常坏人,需要找个阈值切割点。
之前看到pandas的DataFrame有summary(),然后看spark的DataFrame也有,本以为可以很好的使用。
但是发现了一个问题,就是异常点的用户数都很小,造成条数很多,对ip_cnt的个数用阈值取0.1% 1% 5% 都是 ip_cnt=1,而且我也按 95%等,把数据弄到excel中进行累加分析,发现并不是累加的算出正好加到那个数值占总的百分比。
样例数据如下(登录多少次得ip有多少个):
time | login_cnt | ip_cnt |
---|---|---|
190315 | 1 | 56422 |
190315 | 2 | 49422 |
190315 | 3 | 36422 |
190315 | 4 | 22422 |
…… | …… | …… |
190315 | 200 | 22 |
…… | …… | …… |
190315 | 400 | 2 |
…… | …… | …… |
190 |