public ModifiedFuzzyARTMap(int inputSize, int numberOfClasses, double choicingParam, double basedVigilance, double maximumEntropy, double maximumTotalEntropy, double vigilanceAdjustRate, double weightAdjustRate) { mm = new ModifiedMapField(numberOfClasses); esa = new EntropyStatsAlgorithms(mm); tf = new DataTransformChain(); tf.AppendDataTransform(new OneOfNDataTransform(numberOfClasses)); tf.AppendDataTransform(new ComplementDataTransform(1.0)); rtf = new DataTransformChain(); rtf.AppendDataTransform(new UnComplementDataTransform()); rtf.AppendDataTransform(new ReverseOneOfNDataTransform(numberOfClasses)); this.inputSize = inputSize; this.targetSize = numberOfClasses * 2; this.numberOfClasses = numberOfClasses; this.choicingParam = choicingParam; this.basedVigilance = basedVigilance; this.MaximumEntropy = maximumEntropy; this.maximumTotalEntropy = maximumTotalEntropy; this.vigilanceAdjustRate = vigilanceAdjustRate; this.weightAdjustRate = weightAdjustRate; vigilances = new double[0]; categoryTargetClasses = new int[0]; categories = new double[0][]; // Create unprediction output NONPREDICT_OUTPUT = new double[targetSize]; }
public ModifiedFuzzyARTMap(int inputSize, int numberOfClasses, double choicingParam, double basedVigilance, double maximumEntropy, double maximumTotalEntropy, double vigilanceAdjustRate, double weightAdjustRate) { mm = new ModifiedMapField(numberOfClasses); esa = new EntropyStatsAlgorithms(mm); tf = new DataTransformChain(); tf.AppendDataTransform(new OneOfNDataTransform(numberOfClasses)); tf.AppendDataTransform(new ComplementDataTransform(1.0)); rtf = new DataTransformChain(); rtf.AppendDataTransform(new UnComplementDataTransform()); rtf.AppendDataTransform(new ReverseOneOfNDataTransform(numberOfClasses)); this.inputSize = inputSize; this.targetSize = numberOfClasses*2; this.numberOfClasses = numberOfClasses; this.choicingParam = choicingParam; this.basedVigilance = basedVigilance; this.MaximumEntropy = maximumEntropy; this.maximumTotalEntropy = maximumTotalEntropy; this.vigilanceAdjustRate = vigilanceAdjustRate; this.weightAdjustRate = weightAdjustRate; vigilances = new double[0]; categoryTargetClasses = new int[0]; categories = new double[0][]; // Create unprediction output NONPREDICT_OUTPUT = new double[targetSize]; }