package com.datascience.utils.transformations.simple;
import com.datascience.datastoring.datamodels.memory.IncrementalNominalModel;
import com.datascience.datastoring.datamodels.memory.NominalModel;
import com.datascience.utils.ITransformation;
/**
* User: artur
* Date: 5/7/13
*/
public class IncrementalNominalModelTransform implements ITransformation<IncrementalNominalModel, String> {
NominalModelTransform nmt;
public IncrementalNominalModelTransform(String mapSeparator){
nmt = new NominalModelTransform(mapSeparator);
}
@Override
public String transform(IncrementalNominalModel object) {
return nmt.transform(object) + "|" + object.getPriorDenominator();
}
@Override
public IncrementalNominalModel inverse(String object) {
String[] s = object.split("\\|");
NominalModel nm = nmt.inverse(s[0]);
IncrementalNominalModel model = new IncrementalNominalModel();
model.setPriorDenominator(Integer.valueOf(s[1]));
model.setCategoryPriors(nm.getCategoryPriors());
return model;
}
}