public IBClassificationQualityEvaluator(AbstractLazyClassifier classifer, IClassificationMeasure measure)
     : base(0, 1)
 {
     this._IBClassifier = classifer;
     this._measure      = measure;
     //this.LoadSimilarityCache();
 }
Example #2
0
        public DataMining.Model.IClassifier CreateClassifier()
        {
            this.Work();

            this._problem.SolutionQualityEvaluator.EvaluateSolutionQuality(this.GlobalBest);
            AbstractLazyClassifier clasifier = ((IBClassificationQualityEvaluator)this._problem.SolutionQualityEvaluator).Classifier;

            return(clasifier);
        }
Example #3
0
        public DataMining.Model.IClassifier CreateClassifier()
        {
            this.Initialize();
            this.Evolve();
            this._solutionQualityEvaluator.EvaluateSolutionQuality(this.GlobalBest);
            AbstractLazyClassifier clasifier = ((IBClassificationQualityEvaluator)this._solutionQualityEvaluator).Classifier;

            return(clasifier);
        }
Example #4
0
        public DataMining.Model.IClassifier CreateClassifier()
        {
            this.Work();

            double[] weights = this.GlobalBest.ToList().ToArray();

            AbstractLazyClassifier clasifier = ((IBClassificationQualityEvaluator)this._problem.SolutionQualityEvaluator).Classifier;

            clasifier.Weights = weights;

            return(clasifier);
        }
Example #5
0
        public IBLHeuristicsCalculator(Dataset dataset, AbstractLazyClassifier lazyClassifier)
        {
            this._dataset        = dataset;
            this._lazyClassifier = lazyClassifier;

            this._probabilities = new Dictionary <int, double>();

            for (int i = 0; i < this._dataset.Size; i++)
            {
                Prediction predicition = this._lazyClassifier.Classify(this._dataset[i]);
                this._probabilities.Add(i, predicition.Probabilities[predicition.Label]);
            }
        }
Example #6
0
        private static void SaveWeights(Dataset dataset, AbstractLazyClassifier lazyClassifier)
        {
            System.IO.StreamWriter writer = new System.IO.StreamWriter("results\\" + dataset.Metadata.DatasetName + ".txt", true);
            string header = "att\\class,";

            foreach (string classlabel in dataset.Metadata.Target.Values)
            {
                header += classlabel + ",";
            }
            header = header.Substring(0, header.Length - 1);
            writer.WriteLine(header);

            for (int classIndex = 0; classIndex < dataset.Metadata.Target.Values.Length; classIndex++)
            {
                double sum = 0;
                for (int attributeIndex = 0; attributeIndex < dataset.Metadata.Attributes.Length; attributeIndex++)
                {
                    sum += lazyClassifier.Weights[classIndex][attributeIndex];
                }

                for (int attributeIndex = 0; attributeIndex < dataset.Metadata.Attributes.Length; attributeIndex++)
                {
                    lazyClassifier.Weights[classIndex][attributeIndex] /= sum;
                }
            }



            for (int attributeIndex = 0; attributeIndex < dataset.Metadata.Attributes.Length; attributeIndex++)
            {
                string   line    = dataset.Metadata.Attributes[attributeIndex].Name + ",";
                double[] weights = new double[dataset.Metadata.Target.Values.Length];

                for (int classIndex = 0; classIndex < dataset.Metadata.Target.Values.Length; classIndex++)
                {
                    weights[classIndex] = Math.Round((lazyClassifier.Weights[classIndex][attributeIndex]) * 100, 1);
                }

                line += string.Join(",", weights);

                writer.WriteLine(line);
            }

            writer.Flush();
            writer.Close();
        }
Example #7
0
        public DataMining.Model.Ensembles.EnsembleClassifier CreateEnsembleClassifier()
        {
            this.Work();
            List <DataMining.Model.ClassifierInfo> ensemble = new List <DataMining.Model.ClassifierInfo>();

            for (int i = 0; i < this._archiveSize; i++)
            {
                Solution <double> solution = Solution <double> .FromList(this._solutionArchive[i].ToList());

                this._problem.SolutionQualityEvaluator.EvaluateSolutionQuality(solution);
                AbstractLazyClassifier          clasifier      = ((IBClassificationQualityEvaluator)this._problem.SolutionQualityEvaluator).Classifier;
                DataMining.Model.ClassifierInfo classifierInfo = new DataMining.Model.ClassifierInfo()
                {
                    Desc = clasifier.Desc + "-" + i.ToString(), Classifier = clasifier, Quality = solution.Quality
                };
                ensemble.Add(classifierInfo);
            }

            DataMining.Model.Ensembles.EnsembleClassifier ensmebleClassifier = new DataMining.Model.Ensembles.EnsembleClassifier(ensemble);
            return(ensmebleClassifier);
        }