public virtual void TestBackwardsCompatibility() { RVFDataset <string, string> dataset = new WeightedRVFDataset <string, string>(); RVFDatum <string, string> datum1 = NewRVFDatum(null, "a", "b", "a"); dataset.Add(datum1); RVFDatum <string, string> datum2 = NewRVFDatum(null, "a", "b", "a"); dataset.Add(datum2); NUnit.Framework.Assert.AreEqual(1.0f, ((WeightedRVFDataset <string, string>)dataset).GetWeights()[0], 1e-10); NUnit.Framework.Assert.AreEqual(1.0f, ((WeightedRVFDataset <string, string>)dataset).GetWeights()[1], 1e-10); }
public virtual void TestWeightingWorks() { WeightedRVFDataset <string, string> dataset = new WeightedRVFDataset <string, string>(); RVFDatum <string, string> datum1 = NewRVFDatum(null, "a", "b", "a"); dataset.Add(datum1, 42.0f); RVFDatum <string, string> datum2 = NewRVFDatum(null, "a", "b", "a"); dataset.Add(datum2, 7.3f); NUnit.Framework.Assert.AreEqual(42.0f, dataset.GetWeights()[0], 1e-10); NUnit.Framework.Assert.AreEqual(7.3f, dataset.GetWeights()[1], 1e-10); }
public override Pair <GeneralDataset <L, F>, GeneralDataset <L, F> > Split(int start, int end) { int devSize = end - start; int trainSize = Size() - devSize; int[][] devData = new int[devSize][]; double[][] devValues = new double[devSize][]; int[] devLabels = new int[devSize]; int[][] trainData = new int[trainSize][]; double[][] trainValues = new double[trainSize][]; int[] trainLabels = new int[trainSize]; lock (typeof(Runtime)) { System.Array.Copy(data, start, devData, 0, devSize); System.Array.Copy(values, start, devValues, 0, devSize); System.Array.Copy(labels, start, devLabels, 0, devSize); System.Array.Copy(data, 0, trainData, 0, start); System.Array.Copy(data, end, trainData, start, Size() - end); System.Array.Copy(values, 0, trainValues, 0, start); System.Array.Copy(values, end, trainValues, start, Size() - end); System.Array.Copy(labels, 0, trainLabels, 0, start); System.Array.Copy(labels, end, trainLabels, start, Size() - end); } if (this is WeightedRVFDataset <object, object> ) { float[] trainWeights = new float[trainSize]; float[] devWeights = new float[devSize]; WeightedRVFDataset <L, F> w = (WeightedRVFDataset <L, F>) this; lock (typeof(Runtime)) { System.Array.Copy(w.weights, start, devWeights, 0, devSize); System.Array.Copy(w.weights, 0, trainWeights, 0, start); System.Array.Copy(w.weights, end, trainWeights, start, Size() - end); } WeightedRVFDataset <L, F> dev = new WeightedRVFDataset <L, F>(labelIndex, devLabels, featureIndex, devData, devValues, devWeights); WeightedRVFDataset <L, F> train = new WeightedRVFDataset <L, F>(labelIndex, trainLabels, featureIndex, trainData, trainValues, trainWeights); return(new Pair <GeneralDataset <L, F>, GeneralDataset <L, F> >(train, dev)); } else { GeneralDataset <L, F> dev = new Edu.Stanford.Nlp.Classify.RVFDataset <L, F>(labelIndex, devLabels, featureIndex, devData, devValues); GeneralDataset <L, F> train = new Edu.Stanford.Nlp.Classify.RVFDataset <L, F>(labelIndex, trainLabels, featureIndex, trainData, trainValues); return(new Pair <GeneralDataset <L, F>, GeneralDataset <L, F> >(train, dev)); } }