package ids.experiment.dataset;
import ids.clustering.model.Distance;
import ids.clustering.model.Domain;
import ids.clustering.utils.ValidationIndex;
import ids.framework.OptimalConstraints;
import ids.framework.OptimalConstraints.OptimalConstraintsPair;
import ids.utils.CommonUtils;
public class NumberConstraints {
/**
* find the optimal number of constraints using the provided data set
* @param args
*/
public static void main(String[] args) {
// initialization
int k = 2;
int start_c = 5;
int end_c = 40;
// utilities
CommonUtils utils = new CommonUtils(false);
// Domain 1
Domain d1 = new Domain();
d1.data = utils.readDataFile("datasets/heart/ndata.csv");
d1.k = k;
d1.name = "Domain 1";
d1.number_of_iterations = 1;
d1.distance = Distance.SQEUCLIDEAN;
// Domain 2
Domain d2 = new Domain();
d2.data = utils.readDataFile("datasets/heart/cdata.csv");
d2.k = k;
d2.name = "Domain 2";
d2.number_of_iterations = 1;
d2.distance = Distance.MATCH;
OptimalConstraints opt = new OptimalConstraints(d1, d2, null, start_c, end_c);
ValidationIndex vi = ValidationIndex.DB;
OptimalConstraintsPair p = opt.findOnce(5, 5, vi);
System.out.printf("d1: %5.4f, d2: %5.4f\n", p.dd1, p.dd2);
}
}