if(Collections.frequency(ItemSet, distinctItemsList) >= support) {
ItemList.addAll(ItemSet);
FrequentItem1.put(ItemList, Collections.frequency(ItemSet, distinctItemsList));
System.out.println(FrequentItem1);
}
приведенный выше код просто повторяет транзакцию, а не дает элемент, за которым следует частота
ItemList
- список массивов отдельных транзакций
TID , ITEMLIST
Тайленол, Термометр вода, Молоко, Батарея
ItemSet
- это список массивов с такими элементами, как Тайленол, Термометр, Батарея и др. c .. то есть функция Main выглядит следующим образом
try {
Statement statement= connection.createStatement();
String sql="Select distinct TID from transaction";
ResultSet SetTid= statement.executeQuery(sql);
while(SetTid.next()) {
int initialTID= SetTid.getInt("TID");
TID.add(initialTID);
}
System.out.println("TID Items");
for(int initialTID : TID) {
String sqlitem="Select ItemSet from transaction where TID="+ initialTID;
ResultSet setItem= statement.executeQuery(sqlitem);
while(setItem.next()) {
String items= setItem.getString("ItemSet");
//System.out.println("&&&&&&&&"+ items);
ItemList.add(items);
ItemSet=Arrays.asList(items.split(","));
noOfTransaction++;
System.out.println(initialTID+":"+ items);
//System.out.println(initialTID+":"+ ItemList);
}
for(String items : ItemSet) {
System.out.println("&&&&>>"+ items);
if(! distinctItemsList.contains(items)) {
distinctItemsList.add(items);
}
}
System.out.println("No of transaction"+ noOfTransaction);
}
}
DistinctItem
list - список массивов, содержащий уникальные элементы.