*/
private BitSet determinePreferenceVectorByApriori(Relation<V> relation, ModifiableDBIDs[] neighborIDs, StringBuffer msg) throws ParameterException, UnableToComplyException {
int dimensionality = neighborIDs.length;
// database for apriori
UpdatableDatabase apriori_db = new HashmapDatabase();
SimpleTypeInformation<?> bitmeta = VectorFieldTypeInformation.get(BitVector.class, dimensionality);
for(Iterator<DBID> it = relation.iterDBIDs(); it.hasNext();) {
DBID id = it.next();
Bit[] bits = new Bit[dimensionality];
boolean allFalse = true;
for(int d = 0; d < dimensionality; d++) {
if(neighborIDs[d].contains(id)) {
bits[d] = new Bit(true);
allFalse = false;
}
else {
bits[d] = new Bit(false);
}
}
if(!allFalse) {
SingleObjectBundle oaa = new SingleObjectBundle();
oaa.append(bitmeta, new BitVector(bits));
apriori_db.insert(oaa);
}
}
APRIORI apriori = new APRIORI(minpts);
AprioriResult aprioriResult = apriori.run(apriori_db);