Exemple #1
0
        /// <summary>
        /// Predicts the results for given PMML and CSV file and serialize the results in a CSV file
        /// </summary>
        public Table PredictResult(Table inputTable, string pmmlPath)
        {
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(pmmlPath);

            string[] predictedCategories = null;

            //Predict the value for each record using the PMML Evaluator instance
            for (int i = 0; i < inputTable.RowCount; i++)
            {
                var iris = GetDataObject(inputTable, i);

                //Get result
                PredictedResult predictedResult = evaluator.GetResult(iris, null);

                if (i == 0)
                {
                    //Get the predicted propability fields
                    predictedCategories = predictedResult.GetPredictedCategories();
                    //Initialize the output table
                    InitializeTable(inputTable.RowCount, predictedResult.PredictedField, predictedCategories);
                }

                //Add predicted value
                outputTable[i, 0] = predictedResult.PredictedValue;
            }
            return(outputTable);
        }
Exemple #2
0
        /// <summary>
        /// Predicts the results for given PMML and CSV file and serialize the results in a CSV file
        /// </summary>
        public Table PredictResult(Table inputTable, string pmmlPath)
        {
            Stream pmmlStream = new FileStream(pmmlPath, FileMode.Open, FileAccess.Read);
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(pmmlStream);

            string[] predictedCategories = null;

            //Predict the value for each record using the PMML Evaluator instance
            for (int i = 0; i < inputTable.RowCount; i++)
            {
                var audit = GetDataObject(inputTable, i);

                //Get result
                PredictedResult predictedResult = evaluator.GetResult(audit, null);

                if (i == 0)
                {
                    //Get the predicted propability fields
                    predictedCategories = predictedResult.GetPredictedCategories();
                    //Initialize the output table
                    InitializeTable(inputTable.RowCount, predictedResult.PredictedField, predictedCategories);
                }

                //Add predicted value
                outputTable[i, 0] = predictedResult.PredictedValue;

                for (int j = 1; j <= predictedCategories.Length; j++)
                {
                    outputTable[i, j] = predictedResult.GetPredictedProbability(predictedCategories[j - 1]);
                }
            }
            return(outputTable);
        }
Exemple #3
0
            /// <summary>
            /// Predicts the results for given PMML and CSV file and serialize the results in a CSV file
            /// </summary>
            public Syncfusion.PMML.Table PredictResult(string[] input, string pmmlPath)
            {
                //Get PMML Evaluator instance
                PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                          GetPMMLEvaluatorInstance(pmmlPath);

                string[] predictedCategories = null;
                int      i = 0;

                foreach (string s in input)
                {
                    string[] words = s.Split(' ');

                    var record = new
                    {
                        field_0 = words[0],
                        field_1 = words[1],
                        field_2 = words[2]
                    };
                    PredictedResult predictedResult = evaluator.GetResult(record, null);
                    if (i == 0)
                    {
                        //Get the predicted propability fields
                        predictedCategories = predictedResult.GetPredictedCategories();
                        //Initialize the output table

                        InitializeTable(input.Length, predictedCategories);
                    }
                    //Add predicted value
                    outputTable[i, 0] = predictedResult.PredictedValue;
                    i++;
                }

                return(outputTable);
            }
        /// <summary>
        /// Gets predicted result of input values as observable collection
        /// </summary>
        /// <param name="inputTable">current page input values</param>
        /// <param name="pageSize">page size</param>
        /// <returns>observable collection of predicted results</returns>
        private ObservableCollection <BusinessObject> PredictResult(Table inputTable, int pageSize)
        {
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(viewModel.GetPMMLPath(pmmlPath));

            //Initialize the output table
            InitializeTable(inputTable.RowCount);

            //Gets the start index of page selected
            int startIndex = sfDataPager.PageIndex * sfDataPager.PageSize;

            //Predict the value for each record using the PMML Evaluator instance
            for (int i = 0; i < inputTable.RowCount; i++)
            {
                //Get input values as dictionary object
                Dictionary <string, object> iris = inputTable.ColumnNames.ToDictionary(column => column, column
                                                                                       => inputTable[i, column]);

                //Get result
                PredictedResult predictedResult = evaluator.GetResult(iris, null);

                //Add predicted value
                outputTable[i, 0] = predictedResult.PredictedValue;

                for (int j = 1; j <= predictedResult.GetPredictedCategories().Length; j++)
                {
                    outputTable[i, j] = predictedResult.GetPredictedProbability(predictedResult.GetPredictedCategories()[j - 1]);
                }

                //Adds predicted species result to the collection for visualization
                if (!predictedSpeciesCollection.ContainsKey((startIndex + i + 1).ToString()))
                {
                    iris.Add("predictedSpecies", predictedResult.PredictedValue);
                    iris.Add("species_Setosa", predictedResult.GetPredictedProbability(predictedResult.GetPredictedCategories()[0]));
                    iris.Add("species_Versicolor", predictedResult.GetPredictedProbability(predictedResult.GetPredictedCategories()[1]));
                    iris.Add("species_Virginica", predictedResult.GetPredictedProbability(predictedResult.GetPredictedCategories()[2]));
                    predictedSpeciesCollection.Add((startIndex + i + 1).ToString(), iris);
                }
            }
            // Merges the selected page inputs and their output values
            var result = viewModel.MergeTable(inputTable, outputTable, inputDataTable);

            return(result);
        }
Exemple #5
0
        /// <summary>
        /// Predicts the results for given PMML and CSV file and serialize the results in a CSV file
        /// </summary>
        public Table PredictResult(string[] input, string pmmlPath)
        {
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(pmmlPath);

            string[] predictedCategories = null;
            int      i = 0;

            foreach (string s in input)
            {
                string[] predictedandInput = s.Split(',');

                string[] inputField = predictedandInput[1].Split(' ');

                var record = new
                {
                    field_0 = inputField[0],
                    field_1 = inputField[1],
                    field_2 = inputField[2],
                    field_3 = inputField[3],
                    field_4 = inputField[4],
                    field_5 = inputField[5],
                    field_6 = inputField[6],
                    field_7 = inputField[7]
                };
                PredictedResult predictedResult = evaluator.GetResult(record, null);

                if (i == 0)
                {
                    //Get the predicted propability fields
                    predictedCategories = predictedResult.GetPredictedCategories();
                    //Initialize the output table
                    InitializeTable(input.Length, predictedCategories);
                }

                //Add predicted value
                outputTable[i, 0] = predictedResult.PredictedDoubleValue;
                i++;
            }

            return(outputTable);
        }