internal void train(List <TInputData> data) { bool sourceMatrixCreated = false; double[,] sourceMatrix = new double[0, 0]; int[] labels = new int[0]; //Accord.Math.Matrix. int index = 0; foreach (TInputData input in data) { DoubleArrayFeatureVector fv = this.InternalExtractor.extractFeatureVector(input); if (!sourceMatrixCreated) { sourceMatrix = new double[data.Count(), fv.FeatureVector.Count()]; labels = new int[data.Count()]; sourceMatrixCreated = true; } Accord.Math.Matrix.SetRow <double>(sourceMatrix, index, fv.FeatureVector); index++; } method.train(sourceMatrix, labels); }
public DoubleArrayFeatureVector extractFeatureVector(TInputData input) { DoubleArrayFeatureVector fv = internalExtractor.extractFeatureVector(input); double[] data = method.project(fv.FeatureVector); return(new DoubleArrayFeatureVector(data)); }