package de.ugoe.cs.cpdp.dataprocessing;
import org.apache.commons.collections4.list.SetUniqueList;
import weka.core.Attribute;
import weka.core.Instance;
import weka.core.Instances;
/**
* Median as reference transformation after Carmargo Cruz and Ochimizu: Towards Logistic Regression Models for Predicting Fault-prone Code across Software Projects
*
* For each attribute value x, the new value is x-median of the test data
* @author Steffen Herbold
*/
public class MedianAsReference implements ISetWiseProcessingStrategy, IProcessesingStrategy {
/**
* Does not have parameters. String is ignored.
* @param parameters ignored
*/
@Override
public void setParameter(String parameters) {
// dummy
}
/**
* @see de.ugoe.cs.cpdp.dataprocessing.SetWiseProcessingStrategy#apply(weka.core.Instances, org.apache.commons.collections4.list.SetUniqueList)
*/
@Override
public void apply(Instances testdata, SetUniqueList traindataSet) {
final Attribute classAttribute = testdata.classAttribute();
final double[] median = new double[testdata.numAttributes()];
// get medians
for( int j=0 ; j>1); // (>>2 -> /2)
}
}
// update testdata
for( int i=0 ; i>1); // (>>2 -> /2)
}
}
// update testdata
for( int i=0 ; i