arm.java

来自「apriori演算法於JAVA環境下開發 用於資料探勘分類產生規則」· Java 代码 · 共 70 行

JAVA
70
字号
/**
 * @(#)ARM.java
 *
 * This program performs the first step of association rule mining
 * according to the Apriori algorithm. Given a set of transactions, 
 * it identifies the frequent itemsets.
 * 
 * usage: java ARM [items_file] [transactions_file] [output_file] [min_support_percentage]
 *			eg. java ARM items.txt transactions.txt output.txt 30
 *
 * @author Adrian Bright
 */

import java.io.*;

public class ARM
{
	/* NULL value used to check filenames have been entered at command line. */
	private static final String NULL = "$NULL";

	/**
     * main
     * @param itemsFile File containing list of items in format {itemID,itemName}
	 * @param transactionFile File containing list of transactions in format 
	 *		  {transactionID transactionItem(1) transactionItem(2) ... transactionItem(n)}
	 *        or
	 *        {transactionID transactionItem(1)}
	 *        {transactionID transactionItem(2)}
	 *					...
	 *        {transactionID transactionItem(n)}
	 * @param outputFile File to which the list of frequent itemsets is to be written
	 * @param minSup The minimum support for the search
     */

	public static void main(String[] args) throws IOException 
	{
		int minSup = 0;
		String itemsFile = NULL;
		String transactionsFile = NULL;
		String outputFile = NULL;
		System.out.println("\n***********************");
		System.out.println("Association Rule Miner - Apriori Algorithm");
		System.out.println("Adrian Bright 0120990");
		System.out.println("***********************");
		try 
		{
			if (args.length >= 3)
			{
				itemsFile = args[0];
				transactionsFile = args[1];
				outputFile = args[2];
				minSup = Integer.parseInt(args[3]);
			}
			else throw new Exception();
		}
		catch (Exception e)
		{
			System.out.println("usage: java ARM [items_file] [transactions_file] [output_file] [min_support_percentage]");
			System.exit(0);
		}
		if ((!itemsFile.equals(NULL)) && (!transactionsFile.equals(NULL)) && (!outputFile.equals(NULL)))
		{
			System.out.println("Items file: " + itemsFile + "\nTransactions file: " + transactionsFile + "\nOutput file: " + outputFile + "\nMinimum support: " + minSup);
			System.out.println("***********************");
			Apriori ap = new Apriori(itemsFile,transactionsFile,outputFile,minSup);
			System.out.println("***********************\n");
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?