Machine learning 关联规则-非二进制项
我研究过关联规则,知道如何在经典的商品篮问题上实现算法,例如:Machine learning 关联规则-非二进制项,machine-learning,Machine Learning,我研究过关联规则,知道如何在经典的商品篮问题上实现算法,例如: Transaction ID Potatoes Eggs Milk A 1 0 1 B 0 1 1 在这个问题中,每个项都有一个二进制标识符。1表示篮子包含货物,0表示不包含货物 但是,对一个可以容纳许多相同商品的篮子进行建模的最佳方法是什么呢?例如,举下面这个非常不现实的例子 Transaction
Transaction ID Potatoes Eggs Milk
A 1 0 1
B 0 1 1
在这个问题中,每个项都有一个二进制标识符。1表示篮子包含货物,0表示不包含货物
但是,对一个可以容纳许多相同商品的篮子进行建模的最佳方法是什么呢?例如,举下面这个非常不现实的例子
Transaction ID Potatoes Eggs Milk
A 5 0 178
B 0 35 7
在这种情况下,使用二元指标显然会丢失大量信息,我正在寻找一个模型,该模型不仅考虑篮子中项目的存在,而且还考虑项目出现的频率
什么是适合这个问题的算法
在我的实际数据中,有100多个项目,根据用户购物篮的配置文件,我想计算客户消费其他可用项目的概率。我认为,如果你真的想拥有概率,就要以概率的方式对数据进行编码。贝叶斯或马尔可夫网络可能是一种可行的方法。然而,如果没有一个合理的结构,这将是计算极其膨胀。然而,对于三种项目类型来说,这似乎是可行的 如果你有更多的项目类型,我会尝试使用神经网络自动编码器。如果数据中存在某种依赖关系,它会发现 对于上面的示例,您可以使用一个具有三个输入、两个隐藏和三个输出神经元的网络
多一点幻想是使用3个完全连接的层,中间层有一个下落。
另一个选择是使用二元指示符,但以更巧妙的方式构造它们。
这样做的目的是在金额超过中心值时设置指标,这意味着它应该是重要的。如果每个人平均买3个面包,那么在买两个或三个面包的人身上贴上面包爱好者的标签有意义吗 中心值可以是一个简单的算术平均值,一个去除了异常值的平均值,或者是中值 而不是:binarize(x) = 0 if x = 0
1 otherwise
你可以用
binarize*(x) = 0 if x <= central(X)
1 otherwise