我有一个表示来自二进制类的实例的数据集。这里的问题是只有来自正类的实例,而我没有来自负类的实例。或者更确切地说,我想从负片中提取出那些更接近正片的东西。
更具体地说,假设我们有从我们商店购买商品的人的数据,当时要求购买忠诚卡,或者稍后根据自己的意愿。抛开隐私问题不谈(这只是一个例子),我们有不同的属性,比如年龄、邮政编码等。
在我们的示例中,另一组客户端是未申请该卡的客户端。
我们想要的是找到与第一组中申请忠诚卡的人最相似的子集,以便我们可以向他们发送申请忠诚度计划的报价。
这并不是一个确切的分类问题,因为我们试图从“负面”组中获取实例。
它不完全是集群,这通常是无监督的,因为我们已经知道一个集群(忠诚卡客户端)。
我考虑过使用kNN。但我真的不知道我有什么选择。
我还想知道,如果可能的话,如何使用weka或其他Java库来实现这一点,以及我是否应该标准化所有的属性。
发布于 2019-05-22 20:55:04
您可以使用异常检测算法。这些算法告诉你,你的新客户是否属于获得忠诚卡的客户组(在这种情况下,他们将是一个异常)。
这里有两个基本的想法(来自我下面链接的文章):
这两种方法都需要首先对属性进行标准化。
发布于 2019-05-24 03:29:50
并尝试使用单类支持向量机。
这种方法试图对边界进行建模,并将为您提供一个关于点是否应该在类中的二元决策。它可以看作是一种简单的密度估计。主要的好处是支持向量art将比训练数据小得多。
或者简单地使用最近邻距离来对用户进行排名。
https://stackoverflow.com/questions/56255659
复制相似问题