public void AddFeatureOverflowTest() { Feature testFeature = new DoubleFeature(new AbsoluteDistance(), 4.0); Feature testFeature2 = new DoubleFeature(new AbsoluteDistance(), 3.0); Observation testObservation = new Observation(1); testObservation.AddFeature(testFeature); testObservation.AddFeature(testFeature2); }
public void AddChildFeatureTest() { ComplexFeature test = new ComplexFeature(first); Feature testingchild = new DoubleFeature(first, 2.0); test.AddChildFeature(testingchild); Assert.AreEqual(test.ChildFeaturesCount, 1); }
public void CalculateDistanceTest() { //arrange DistanceMetric firstMetric = new AbsoluteDistance(); Feature initial = new DoubleFeature(firstMetric, 20.0); Feature initial2 = new DoubleFeature(firstMetric, 22.0); //act, assert Assert.AreEqual(initial.CalculateDistance(initial2), 2); }
public void AddFeatureTest() { Feature testingFeature = new DoubleFeature(new AbsoluteDistance(), 2.0); Observation testingObs = new Observation(1); testingObs.AddFeature(testingFeature); Assert.AreEqual(testingObs.FeaturesCount, 1); }
public void GetChildFeatureTest() { ComplexFeature test = new ComplexFeature(first); Feature testingchild = new DoubleFeature(first, 2.0); test.AddChildFeature(testingchild); Feature child = test.GetChildFeature(0); //assert Assert.AreSame(child, testingchild); }
public void ReplaceFeatureTest() { Feature testingFeature = new DoubleFeature(new AbsoluteDistance(), 2.0); Feature replacement = new DoubleFeature(new AbsoluteDistance(), 6.0); Observation testingObs = new Observation(1); testingObs.AddFeature(testingFeature); testingObs.ReplaceFeature(0, replacement); Assert.AreSame(replacement, testingObs.GetFeature(0)); Assert.AreEqual(6.0, testingObs.GetFeature(0).FeatureValue); }
public void GetFeatureTest() { Feature testingFeature = new DoubleFeature(new AbsoluteDistance(), 2.0); Observation testingObs = new Observation(1); testingObs.AddFeature(testingFeature); Feature returned = testingObs.GetFeature(0); Assert.AreSame(returned, testingFeature); }
public void AddMemberTest() { Cluster testCluster = new Cluster(); Feature testFeature = new DoubleFeature(new AbsoluteDistance(), 4.0); Observation testObservation = new Observation(3); testObservation.AddFeature(testFeature); //act testCluster.AddMember(testObservation); //assert Assert.AreEqual(testCluster.ClusterCount, 1); }
public void SumTest() { //arrange DistanceMetric firstMetric = new AbsoluteDistance(); Feature initial = new DoubleFeature(firstMetric, 20.0); Feature initial2 = new DoubleFeature(firstMetric, 22.0); //act Feature result = initial2.Sum(initial); //assert Assert.AreEqual(result.FeatureValue, 42.0); Assert.AreSame(result.MetricUsed, firstMetric); }
public void ReCalculateCentroidTest() { // not really testable code ####consider redefining ReCalculate centroid Cluster testCluster = new Cluster(); Feature testFeature = new DoubleFeature(new AbsoluteDistance(), 4.0); Feature testFeature1 = new DoubleFeature(new AbsoluteDistance(), 5.0); Feature testFeature2 = new DoubleFeature(new AbsoluteDistance(), 15.0); Feature testFeature3 = new DoubleFeature(new AbsoluteDistance(), 25.0); Feature testFeature4 = new DoubleFeature(new AbsoluteDistance(), 7.0); Feature testFeature5 = new DoubleFeature(new AbsoluteDistance(), 8.0); Feature testFeature6 = new DoubleFeature(new AbsoluteDistance(), 8.0); Feature testFeature7 = new DoubleFeature(new AbsoluteDistance(), 10.0); Observation testObservation = new Observation(2); Observation testObservation1 = new Observation(2); Observation testObservation2 = new Observation(2); Observation initialCentroid = new Observation(2); initialCentroid.AddFeature(testFeature); initialCentroid.AddFeature(testFeature1); testCluster.ClusterCentroid = initialCentroid; testObservation.AddFeature(testFeature2); testObservation.AddFeature(testFeature3); testCluster.AddMember(testObservation); testObservation1.AddFeature(testFeature4); testObservation1.AddFeature(testFeature5); testCluster.AddMember(testObservation1); testObservation2.AddFeature(testFeature6); testObservation2.AddFeature(testFeature7); testCluster.AddMember(testObservation2); //act testCluster.ReCalculateCentroid(); //assert Assert.AreEqual(10.0, testCluster.ClusterCentroid.GetFeature(0).FeatureValue); Assert.AreSame(initialCentroid, testCluster.OldClusterCentroid); }
private static void CreateDoubleFeature(IEnumerable <string> values, string[] headers, int index, InstanceModel model, List <string[]> matrix, Instance[] result) { double[] casted = values.Where(v => !string.IsNullOrWhiteSpace(v)).Select(double.Parse).ToArray(); var newModel = new DoubleFeature(TextToId(headers[index]), index) { MinValue = casted.Min(), MaxValue = casted.Max(), }; model.Features[index] = newModel; for (int i = 0; i < matrix.Count; i++) { string asStr = matrix[i][index]; result[i][newModel] = string.IsNullOrWhiteSpace(asStr) ? double.NaN : double.Parse(asStr); } }