package com.datascience.gal.dataGenerator; import java.util.ArrayList; import java.util.Collection; import com.datascience.core.nominal.CategoryValue; import com.datascience.utils.CostMatrix; public class CategoryFactory { public Collection<CategoryValue> createCategoryPriors(Collection<String> categories){ Collection<CategoryValue> ret = new ArrayList<CategoryValue>(); for (String s : categories){ ret.add(new CategoryValue(s, 1. / categories.size())); } return ret; } public CostMatrix<String> createMatrix(Collection<String> categories){ CostMatrix<String> cm = new CostMatrix<String>(); for (String c1 : categories){ for (String c2 : categories){ cm.add(c1, c2, c1.equals(c2) ? 0. : 1.); } } return cm; } public static CategoryFactory getInstance() { return instance; } private static CategoryFactory instance = new CategoryFactory(); private CategoryFactory() { } }