Ejemplo n.º 1
0
 private void CalculateProbabilities()
 {
     if (clusters != null)
     {
         foreach (Cluster cluster in clusters)
         {
             cluster.SetProbability(PredictionFunctions.ProbabiltyOfCluster(cluster, sumSimilarities));
         }
     }
 }
Ejemplo n.º 2
0
        public List <Result> PredictBySelection()
        {
            if (predictionCouples != null && dailyObservation != null)
            {
                /// applying similarityFunction To all inputs in predictions Couples
                PredictionFunctions.SimilarityFunction(predictionCouples, dailyObservation.ToVector());

                List <PredictionCouple> predicted = PredictionFunctions.PickMostProbableCouples(predictionCouples, CLUSTER_WIDTH);

                List <Result> results = ConstructResultsBySelection(predicted);

                return(results);
            }
            return(null);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Constructs Raw Predictions based on PredictionCouples
        /// </summary>
        public void PredictByKNN()
        {
            if (predictionCouples != null && dailyObservation != null)
            {
                /// applying similarityFunction To all inputs in predictions Couples
                PredictionFunctions.SimilarityFunction(predictionCouples, dailyObservation.ToVector());

                sumSimilarities = CalculateSumOfSimilarities();

                /// clustering the PredictionCouples based on CLUSTER_WIDTH to make the prediction
                clusters = PredictionFunctions.Cluster(predictionCouples, CLUSTER_WIDTH);

                /// Calculating the probability of each cluster and ordering it by probabilty descending
                CalculateProbabilities();

                orderedClustersByProba = PredictionFunctions.OrderByProbabiltyDescending(clusters);

                /// making the raw predictions and constructing a table containing each cluster with its list of predictions
                predictions = PredictionFunctions.Predict(orderedClustersByProba);

                /// setting the parameters in order to identify each Prediction
                SetParameterKeys();
            }
        }