package com.intel.daal.examples.association_rules;
import com.intel.daal.algorithms.association_rules.*;
import com.intel.daal.data_management.data.HomogenNumericTable;
import com.intel.daal.data_management.data.NumericTable;
import com.intel.daal.data_management.data_source.DataSource;
import com.intel.daal.data_management.data_source.FileDataSource;
import com.intel.daal.examples.utils.Service;
import com.intel.daal.services.DaalContext;
class AprioriBatch {
private static final String dataset = "../data/batch/apriori.csv";
private static final double minSupport = 0.001;
private static final double minConfidence = 0.7;
private static DaalContext context = new DaalContext();
public static void main(String[] args) throws java.io.FileNotFoundException, java.io.IOException {
FileDataSource dataSource = new FileDataSource(context, dataset,
DataSource.DictionaryCreationFlag.DoDictionaryFromContext,
DataSource.NumericTableAllocationFlag.DoAllocateNumericTable);
dataSource.loadDataBlock();
Batch alg = new Batch(context, Double.class, Method.apriori);
NumericTable input = dataSource.getNumericTable();
alg.input.set(InputId.data, input);
alg.parameter.setMinSupport(minSupport);
alg.parameter.setMinConfidence(minConfidence);
Result res = alg.compute();
HomogenNumericTable largeItemsets = (HomogenNumericTable) res.get(ResultId.largeItemsets);
HomogenNumericTable largeItemsetsSupport = (HomogenNumericTable) res.get(ResultId.largeItemsetsSupport);
Service.printAprioriItemsets(largeItemsets, largeItemsetsSupport);
HomogenNumericTable antecedentItemsets = (HomogenNumericTable) res.get(ResultId.antecedentItemsets);
HomogenNumericTable consequentItemsets = (HomogenNumericTable) res.get(ResultId.consequentItemsets);
HomogenNumericTable confidence = (HomogenNumericTable) res.get(ResultId.confidence);
Service.printAprioriRules(antecedentItemsets, consequentItemsets, confidence);
context.dispose();
}
}