Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="inputVariable"></param>
        /// <param name="inputVariableValue"></param>
        /// <returns></returns>
        public ClassCategory GetDecision(PatternClassificationInput inputVariable, int inputVariableValue)
        {
            // MatlabInterface.Execute request
            MatlabInterface.Execute("inputClassifierDecision = " + ClassifierUniqueId + ".InputNodeClassifiers(" + inputVariable.ClassifierMatlabIndex + ").getDecision(" + inputVariableValue + ");");
            // fetch value and return
            var intResult = MatlabInterface.MatlabVariableToInteger("inputClassifierDecision", true);
            var c         = _classificationCategories[intResult - 1];

            return(c);
        }
Beispiel #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="inputVariable"></param>
 /// <param name="inputVariableValue"></param>
 /// <param name="c"></param>
 /// <param name="plot"></param>
 public void AssociateWithCategory(PatternClassificationInput inputVariable, int inputVariableValue,
                                   ClassCategory c, bool plot)
 {
     // associate input value with cateogiry, for the specified variable
     MatlabInterface.Execute(ClassifierUniqueId + " = " + ClassifierUniqueId + ".InputNodeClassifiers(" + inputVariable.ClassifierMatlabIndex + ").createAssociation(" + inputVariableValue + ", " + c.MatlabIndex + ");");
     // plot
     if (plot)
     {
         MatlabInterface.Execute(ClassifierUniqueId + " = " + ClassifierUniqueId + ".InputNodeClassifiers(" + inputVariable.ClassifierMatlabIndex + ").plotLikelihoods();");
     }
 }
 /// <summary>
 /// On user selecting/deselecting listviewitem in Input Nodes listview
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void listOfInputNodes_itemsSelectedOrDeselected(object sender, EventArgs e)
 {
     if (listInputNodes.SelectedItems.Count > 0)
     {
         _selectedInputNode = (PatternClassificationInput)listInputNodes.SelectedItems[0].Tag;
         OnNewInputNodeSelected();
     }
     else
     {
         _selectedInputNode = null;
         OnSelectedInputNodeCleared();
     }
 }
Beispiel #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="inputVariable"></param>
        /// <param name="priorProbabilities"></param>
        public void SetCategoryPriories(PatternClassificationInput inputVariable, double[] priorProbabilities)
        {
            var matlabArrayName = "newPrioriesForInputNo_" + inputVariable.ClassifierMatlabIndex;

            MatlabInterface.ArrayToMatlabVector(priorProbabilities, matlabArrayName, true);
            if (priorProbabilities.Length != _classificationCategories.Count)
            {
                throw new ApplicationException(
                          "Number of priories in array does not match number of classification categories!");
            }
            MatlabInterface.Execute(ClassifierUniqueId + " = " + ClassifierUniqueId + ".setCategoryPrioriesForInput(" + inputVariable.ClassifierMatlabIndex +
                                    ", " + matlabArrayName + ");");
            // plot resultant priories of BC
            MatlabInterface.Execute("plot(" + ClassifierUniqueId + ".InputNodeClassifiers(" + inputVariable.ClassifierMatlabIndex +
                                    ").priories);");
        }