2013-03-05 44 views
2

我在计算Jaccard相似从销售交易的MySQL数据库发现使用事务ID同类书籍这个问题:如何在Java或JSP中实现Jaccard索引?

T1 =爪哇,红宝石,C

T2 =的Java,C#,Python的

T3 = C#,VB,C

....等

爪哇路口= 2的大小; (我们怎样才能找到它?)

工会的大小= 3,(我们怎么能找到它?)

Jaccard相似=(路口/集)= 2/3

但我不明白我怎么能找出这两个向量的“交集”和“联合”,或者如何在Java/JSP中实现它。

请帮助我,并多谢!

+0

数据在MySQL数据库中看起来像什么?工会的定义是什么?交叉点的定义是什么? – 2013-03-05 16:31:34

+0

MySQL数据库中的数据是事务ID,书名和客户ID /名称。我想从所有销售交易(联盟)中找出每笔交易中购买量最高的图书(交叉点)。 – Kimberly 2013-03-05 16:36:27

+0

可能是有用的相同的方法使用Arraylist - http://stackoverflow.com/questions/5283047/intersection-union-of-arraylists-in-java – 2013-03-05 19:39:57

回答

0

您需要使用标准Set类之一。您可以对集合进行相交,联合和大小计算。

+0

嗨康斯坦丁,非常感谢,我仍然很困惑如何使用Set类。因此,是否有任何示例实现可以让你知道哪些会给我一个清晰的画面。再次感谢! – Kimberly 2013-03-05 16:38:51

+1

http://docs.oracle.com/javase/tutorial/collections/interfaces/set.html – 2013-03-05 16:44:54