package hex.pca;
import hex.Model;
import hex.ModelMetrics;
import hex.ModelMetricsUnsupervised;
import water.fvec.Frame;
public class ModelMetricsPCA extends ModelMetricsUnsupervised {
public ModelMetricsPCA(Model model, Frame frame) {
super(model, frame, 0, Double.NaN);
}
// PCA currently does not have any model metrics to compute during scoring
public static class PCAModelMetrics extends MetricBuilderUnsupervised<PCAModelMetrics> {
public PCAModelMetrics(int dims) {
_work = new double[dims];
}
@Override
public double[] perRow(double[] preds, float[] dataRow, Model m) { return preds; }
@Override
public ModelMetrics makeModelMetrics(Model m, Frame f, Frame adaptedFrame, Frame preds) {
return m.addModelMetrics(new ModelMetricsPCA(m, f));
}
}
}