Example #1
0
        public IModelDiscreteIterative <DomainType, LabelType> GenerateModelDiscrete(IDataSet <DomainType, LabelType> training_set)
        {
            ModelNearestNeighborKDTree <DomainType, DistanceType, LabelType> model = new ModelNearestNeighborKDTree <DomainType, DistanceType, LabelType>(
                this.DataContext,
                this.kdtree.Copy(),
                this.DistanceFunction,
                this.voting_system,
                this.neighbor_count);
            IList <Tuple <DomainType[], LabelType> > training_instances = new List <Tuple <DomainType[], LabelType> >();

            for (int instance_index = 0; instance_index < training_set.InstanceCount; instance_index++)
            {
                training_instances.Add(new Tuple <DomainType[], LabelType>(training_set.GetInstanceFeatureData(instance_index), training_set.GetInstanceLabelData(instance_index)[0]));
            }
            model.Add(training_instances);
            return(model);
        }
        public IModelDiscreteIterative <double, int> GenerateModelDiscreteIncremental(IDataSet <double, int> training_set)
        {
            ModelNearestNeighborListDefault model = new ModelNearestNeighborListDefault(training_set.DataContext);
            IList <Tuple <double[], int> >  training_instances = new List <Tuple <double[], int> >();

            for (int instance_index = 0; instance_index < training_set.InstanceCount; instance_index++)
            {
                training_instances.Add(new Tuple <double[], int>(training_set.GetInstanceFeatureData(instance_index), training_set.GetInstanceLabelData(instance_index)[0]));
            }
            model.Add(training_instances);
            return(model);
        }
Example #3
0
        public IModelDiscreteIterative <int, int> GenerateModelDiscreteIncremental(IDataSet <int, int> training_set)
        {
            //TODO check data context
            ModelNearestNeighborList <int, int, int> model = new ModelNearestNeighborList <int, int, int>(training_set.DataContext, new FunctionDistanceHamming());
            IList <Tuple <int[], int> > training_instances = new List <Tuple <int[], int> >();

            for (int instance_index = 0; instance_index < training_set.InstanceCount; instance_index++)
            {
                training_instances.Add(new Tuple <int[], int>(training_set.GetInstanceFeatureData(instance_index), training_set.GetInstanceLabelData(instance_index)[0]));
            }
            model.Add(training_instances);
            return(model);
        }
        public IModelLabelIterative <double, double> GenerateModelLabelIterative(IDataSet <double, double> training_set)
        {
            //ModelNearestNeighborKDTreeDefault model = new ModelNearestNeighborKDTreeDefault(training_set.DataContext);
            ModelNearestNeighborKDTree <double, double, double> model = new ModelNearestNeighborKDTree <double, double, double>("ModelKNNIneterval", training_set.DataContext, new AlgebraRealFloat64(), new FunctionDistanceEuclidean());
            IList <Tuple <double[], double> > training_instances      = new List <Tuple <double[], double> >();

            for (int instance_index = 0; instance_index < training_set.InstanceCount; instance_index++)
            {
                training_instances.Add(new Tuple <double[], double>(training_set.GetInstanceFeatureData(instance_index), training_set.GetInstanceLabelData(instance_index)[0]));
            }
            model.Add(training_instances);
            return(model);
        }