public void createSubsets(GestureDataSet allGestureTraces) { trainingSubsets = new GestureDataSet[nSubsets]; testSubsets = new GestureDataSet[nSubsets]; var subsetSize = allGestureTraces.Values.First().Count() / nSubsets; for (int curSubset = 0; curSubset < nSubsets; curSubset++) { trainingSubsets[curSubset] = allGestureTraces.ToDictionary( e => e.Key, e => (IEnumerable <BaseTrajectory>)e.Value.Where((_, index) => (index / subsetSize) != curSubset).ToArray() ); testSubsets[curSubset] = allGestureTraces.ToDictionary( e => e.Key, e => (IEnumerable <BaseTrajectory>)e.Value.Where((_, index) => (index / subsetSize) == curSubset).ToArray() ); } }
public GestureDataSet processAllGestures(GestureDataSet data) { return(data.ToDictionary( e => e.Key, e => e.Value.Select(t => { if (t is Stroke) { var s = t as Stroke; return (BaseTrajectory)(new Stroke(samplePoints(s.TrajectoryPoints), s.FingerID)); } else { throw new NotImplementedException("This subclass of BaseTrajectory is currently not implemented here"); } }))); }
public void createSubsets(GestureDataSet allGestureTraces) { trainingSet = allGestureTraces.ToDictionary(e => e.Key, e => e.Value.Take(nTraining)); testSet = allGestureTraces.ToDictionary(e => e.Key, e => e.Value.Skip(nTraining)); }