public HeaderTable copy(UNode uNode) { HeaderTable newTable = new HeaderTable(windowSize); List<UNode> distinctNodes = uNode.getDistinctNodes(); for (HeaderTableItem item : this.headerTableItems) { HeaderTableItem newTableItem = newTable.addNewTableItem(item.getItemId()); newTableItem.addProbabilityAndPrefixValue( item.getTotalProbability(), item.getTotalPrefixValue()); } for (UNode node : distinctNodes) { newTable.updateHeaderTable(node, 0, 0); } return newTable; }
public List<UNode> removeAndFindInfrequentNodesByPrefix(double minSupport) { List<UNode> nodes = new ArrayList<UNode>(); int count = headerTableItems.size(); for (int i = 0; i < count; i++) { HeaderTableItem item = headerTableItems.get(i); if (item.getTotalPrefixValue() < minSupport) { nodes.addAll(item.getNodeList()); headerTableItems.remove(item); i--; count--; } } return nodes; }
// public List<HTableItemInfo> getInFrequentItemInfoByPrefix(double minSupport) { // List<HTableItemInfo> result = new ArrayList<HTableItemInfo>(); // for (HeaderTableItem item : headerTableItems) { // double prefixVal = item.getItemPrefixValue(); // double probabilityValue = item.getItemProbabilityValue(); // double miningValue = item.getMiningValue(); // if (prefixVal < minSupport) { // HTableItemInfo hTableItemInfo = new HTableItemInfo(); // hTableItemInfo.setItemId(item.getItemId()); // hTableItemInfo.setItemPrefixValue(prefixVal); // hTableItemInfo.setItemProbabilityValue(probabilityValue); // hTableItemInfo.setMiningProbability(miningValue); // result.add(hTableItemInfo); // } // } // return result; // } // // public List<HTableItemInfo> getFrequentItemInfoByPrefix(double minSupport) { // List<HTableItemInfo> result = new ArrayList<HTableItemInfo>(); // for (HeaderTableItem item : headerTableItems) { // double prefixVal = item.getItemPrefixValue(); // double probabilityValue = item.getItemProbabilityValue(); // double miningValue = item.getMiningValue(); // if (prefixVal >= minSupport) { // HTableItemInfo hTableItemInfo = new HTableItemInfo(); // hTableItemInfo.setItemId(item.getItemId()); // hTableItemInfo.setItemPrefixValue(prefixVal); // hTableItemInfo.setItemProbabilityValue(probabilityValue); // hTableItemInfo.setMiningProbability(miningValue); // result.add(hTableItemInfo); // } // } // return result; // } // // public List<HTableItemInfo> getFrequentItemInfoByMiningValue(double minSupport) { // List<HTableItemInfo> result = new ArrayList<HTableItemInfo>(); // for (HeaderTableItem item : headerTableItems) { // double prefixVal = item.getItemPrefixValue(); // double probabilityValue = item.getItemProbabilityValue(); // double miningValue = item.getMiningValue(); // if (miningValue >= minSupport) { // HTableItemInfo hTableItemInfo = new HTableItemInfo(); // hTableItemInfo.setItemId(item.getItemId()); // hTableItemInfo.setItemPrefixValue(prefixVal); // hTableItemInfo.setItemProbabilityValue(probabilityValue); // hTableItemInfo.setMiningProbability(miningValue); // result.add(hTableItemInfo); // } // } // return result; // } // // public List<HTableItemInfo> getInFrequentItemInfoBySupport(double minSupport) { // List<HTableItemInfo> result = new ArrayList<HTableItemInfo>(); // for (HeaderTableItem item : headerTableItems) { // double prefixVal = item.getItemPrefixValue(); // double probabilityValue = item.getItemProbabilityValue(); // double miningValue = item.getMiningValue(); // if (probabilityValue < minSupport) { // HTableItemInfo hTableItemInfo = new HTableItemInfo(); // hTableItemInfo.setItemId(item.getItemId()); // hTableItemInfo.setItemPrefixValue(prefixVal); // hTableItemInfo.setItemProbabilityValue(probabilityValue); // hTableItemInfo.setMiningProbability(miningValue); // result.add(hTableItemInfo); // } // } // return result; // } // // public List<HTableItemInfo> getFrequentItemInfoBySupport(double minSupport) { // List<HTableItemInfo> result = new ArrayList<HTableItemInfo>(); // for (HeaderTableItem item : headerTableItems) { // double prefixVal = item.getItemPrefixValue(); // double probabilityValue = item.getItemProbabilityValue(); // double miningValue = item.getMiningValue(); // if (probabilityValue >= minSupport) { // HTableItemInfo hTableItemInfo = new HTableItemInfo(); // hTableItemInfo.setItemId(item.getItemId()); // hTableItemInfo.setItemPrefixValue(prefixVal); // hTableItemInfo.setItemProbabilityValue(probabilityValue); // hTableItemInfo.setMiningProbability(miningValue); // result.add(hTableItemInfo); // } // } // return result; // } // // public List<HTableItemInfo> getInFrequentItemInfoByMiningValue(double minSupport) { // List<HTableItemInfo> result = new ArrayList<HTableItemInfo>(); // for (HeaderTableItem item : headerTableItems) { // double prefixVal = item.getItemPrefixValue(); // double probabilityValue = item.getItemProbabilityValue(); // double miningValue = item.getMiningValue(); // if (miningValue < minSupport) { // HTableItemInfo hTableItemInfo = new HTableItemInfo(); // hTableItemInfo.setItemId(item.getItemId()); // hTableItemInfo.setItemPrefixValue(prefixVal); // hTableItemInfo.setItemProbabilityValue(probabilityValue); // hTableItemInfo.setMiningProbability(miningValue); // result.add(hTableItemInfo); // } // } // return result; // } public List<HTableItemInfo> getHeaderInfo() { List<HTableItemInfo> result = new ArrayList<HTableItemInfo>(); for (HeaderTableItem item : headerTableItems) { HTableItemInfo hTableItemInfo = new HTableItemInfo(); double prefixVal = item.getTotalPrefixValue(); double probabilityValue = item.getTotalProbability(); double miningValue = item.getMiningValue(); hTableItemInfo.setItemId(item.getItemId()); hTableItemInfo.setItemPrefixValue(prefixVal); hTableItemInfo.setItemProbabilityValue(probabilityValue); hTableItemInfo.setMiningProbability(miningValue); result.add(hTableItemInfo); } return result; }