稀疏分类数据的异常检测

数据挖掘 无监督学习 分类数据 异常检测
2022-03-04 03:22:06

我有一个大数据集,其中有一列“clientid”和一个分类列“choice”。我想找出哪些客户有奇怪的选择组合(不太频繁的选择),并且将来能够立即识别未来客户的新奇怪组合。

客户编号 选择
cl1 一种
cl2 b
cl2 C
cl3 d
cl4 b
cl4 C

如果我通过 clientID 转置表,我将根据选择为每个客户端和不同的列设置一行,它将成为具有分类变量(选择)的稀疏数据集。有些客户只有一个选择,有些客户有多个选择,我想查找异常记录(clientid)

哪种算法可以帮助我解决这类问题?它是无监督的,所以我不知道什么是正常组合,它是分类变量的稀疏数据。

1个回答

这里不需要机器学习。

转置数据框后,只需计算新列中唯一组合的数量,然后按频率对它们进行排名。设置一个合适的“稀有度”阈值(如下面的freq=2),您将获得奇怪组合的列表。

Pandas 中有一个工具可以解决这个问题df.values_count()

例如

组合 频率
一,乙 1
a, c 1
广告 1
a,b,c 2
A B C D 10
b,d 10

然后只需将您的新组合与您的“稀有组合库”进行比较,如果它们不再稀有则更新它们。