Пример #1
0
        public void Predicted_Button(object sender, RoutedEventArgs e)
        {
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(viewModel.GetPMMLPath(pmmlPath));

            // Input object as dictionary
            var iris = new
            {
                Sepal_Length = sepallength.Text,
                Sepal_Width  = sepalwidth.Text,
                Petal_Length = petallength.Text,
                Petal_Width  = petalwidth.Text
            };

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

            viewModel.IrisCollection = new ObservableCollection <Iris>();
            viewModel.IrisCollection.Add(new Iris()
            {
                Species                = string.Empty,
                Setosa_probability     = Convert.ToDouble(predictedResult.GetPredictedProbability("setosa")),
                Versicolor_probability = Convert.ToDouble(predictedResult.GetPredictedProbability("versicolor")),
                Virginica_probability  = Convert.ToDouble(predictedResult.GetPredictedProbability("virginica"))
            });

            //Change of visibility over input and resultant grid
            this.InputGrid.Visibility  = Visibility.Collapsed;
            this.ResultGrid.Visibility = Visibility.Visible;
        }
Пример #2
0
        public void Predicted_Button(object sender, RoutedEventArgs e)
        {
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(viewModel.GetPMMLPath(pmmlPath));

            // Input object as dictionary
            var titanic = new
            {
                pclass = ((ComboBoxItem)PclassCombo.SelectedItem).Content,
                parch  = parch.Text,
                sex    = ((ComboBoxItem)GenderCombo.SelectedItem).Content,
                sibsp  = sibsp.Text,
                age    = age.Text
            };

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

            viewModel.TitanicCollection = new ObservableCollection <Titanic>();
            viewModel.TitanicCollection.Add(new Titanic()
            {
                Status               = string.Empty,
                Died_probability     = Convert.ToDouble(predictedResult.GetPredictedProbability("died")),
                Survived_probability = Convert.ToDouble(predictedResult.GetPredictedProbability("survived"))
            });

            //Change of visibility over input and resultant grid
            this.InputGrid.Visibility  = Visibility.Collapsed;
            this.ResultGrid.Visibility = Visibility.Visible;
        }
Пример #3
0
        public void Predicted_Button(object sender, RoutedEventArgs e)
        {
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(viewModel.GetPMMLPath(pmmlPath));

            // Input object as dictionary
            var breastcancer = new
            {
                horTh    = ((ComboBoxItem)HorthCombo.SelectedItem).Content,
                age      = age.Text,
                menostat = ((ComboBoxItem)MenostatCombo.SelectedItem).Content,
                tsize    = tsize.Text,
                tgrade   = ((ComboBoxItem)HorthCombo.SelectedItem).Content,
                pnodes   = pnodes.Text,
                progrec  = progrec.Text,
                estrec   = estrec.Text,
                time     = time.Text,
            };

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

            viewModel.BreastCancerCollection = new ObservableCollection <BreastCancer>();
            viewModel.BreastCancerCollection.Add(new BreastCancer()
            {
                Status = string.Empty,
                Censored_probability = Convert.ToDouble(predictedResult.GetPredictedProbability("0")),
                Event_probability    = Convert.ToDouble(predictedResult.GetPredictedProbability("1"))
            });

            //Change of visibility over input and resultant grid
            this.InputGrid.Visibility  = Visibility.Collapsed;
            this.ResultGrid.Visibility = Visibility.Visible;
        }
Пример #4
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;

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

            return(outputTable);
        }
Пример #5
0
        public void Predicted_Button(object sender, RoutedEventArgs e)
        {
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(viewModel.GetPMMLPath(pmmlPath));

            // Input object as dictionary
            var bfeed = new
            {
                duration = duration.Text,
                delta    = ((ComboBoxItem)delta.SelectedItem).Content.ToString() == "completed" ? 1 : 0,
                race     = ((ComboBoxItem)race.SelectedItem).Content.ToString() == "black" ? 2 : ((ComboBoxItem)race.SelectedItem).Content.ToString() == "white" ? 1 : 0,
                poverty  = ((ComboBoxItem)poverty.SelectedItem).Content.ToString() == "yes" ? 1 : 0,
                smoke    = ((ComboBoxItem)smoke.SelectedItem).Content.ToString() == "yes" ? 1 : 0,
                alcohol  = ((ComboBoxItem)alcohol.SelectedItem).Content.ToString() == "yes" ? 1 : 0,
                agemth   = agemth.Text,
                ybirth   = ybirth.Text,
                pc3mth   = ((ComboBoxItem)pc3mth.SelectedItem).Content,
                yschool  = yschool.Text
            };

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

            viewModel.BfeedCollection = new ObservableCollection <Bfeed>();
            viewModel.BfeedCollection.Add(new Bfeed()
            {
                Observation        = string.Empty,
                Predicted_Survival = Convert.ToDouble(predictedResult.GetPredictedProbability("survival"))
            });

            //Change of visibility over input and resultant grid
            this.InputGrid.Visibility  = Visibility.Collapsed;
            this.ResultGrid.Visibility = Visibility.Visible;
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        public void Predicted_Button(object sender, RoutedEventArgs e)
        {
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(viewModel.GetPMMLPath(pmmlPath));

            // Input object as dictionary
            var wine = new
            {
                Alcohol         = alcohol.Text,
                Malic           = malic.Text,
                Ash             = ash.Text,
                Alcalinity      = alkalinity.Text,
                Magnesium       = magnesium.Text,
                Phenols         = phenols.Text,
                Flavanoids      = flavanoids.Text,
                Nonflavanoids   = nonflavanoids.Text,
                Proanthocyanins = proanthocyanins.Text,
                Color           = color.Text,
                Hue             = hue.Text,
                Dilution        = dilution.Text,
                Proline         = proline.Text
            };

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

            viewModel.WineCollection = new ObservableCollection <Wine>();
            viewModel.WineCollection.Add(new Wine()
            {
                Type = string.Empty,
                Wine1_probability = Convert.ToDouble(predictedResult.GetPredictedProbability("1")),
                Wine2_probability = Convert.ToDouble(predictedResult.GetPredictedProbability("2")),
                Wine3_probability = Convert.ToDouble(predictedResult.GetPredictedProbability("3"))
            });

            //Change of visibility over input and resultant grid
            this.InputGrid.Visibility  = Visibility.Collapsed;
            this.ResultGrid.Visibility = Visibility.Visible;
        }
Пример #8
0
        /// <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> bfeed = inputTable.ColumnNames.ToDictionary(column => column, column
                                                                                        => inputTable[i, column]);

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

                //Add predicted value
                outputTable[i, 0] = predictedResult.PredictedValue;
                //Add predicted Survival
                outputTable[i, 1] = predictedResult.GetPredictedProbability("survival");

                //Adds predicted survival time values to the collection for visualization
                if (!predictedSurvivalCollection.ContainsKey((startIndex + i + 1).ToString()))
                {
                    bfeed.Add("CumulativeHazard", predictedResult.PredictedValue);
                    bfeed.Add("Predicted_Survival", predictedResult.GetPredictedProbability("survival"));
                    predictedSurvivalCollection.Add((startIndex + i + 1).ToString(), bfeed);
                }
            }
            // Merges the selected page inputs and their output values
            var result = viewModel.MergeTable(inputTable, outputTable, inputDataTable);

            return(result);
        }
Пример #9
0
        public void Predicted_Button(object sender, RoutedEventArgs e)
        {
            //Get PMML Evaluator instance
            PMMLEvaluator evaluator = new PMMLEvaluatorFactory().
                                      GetPMMLEvaluatorInstance(viewModel.GetPMMLPath(pmmlPath));

            // Input object as dictionary
            var audit = new
            {
                Age        = age.Text,
                Employment = ((ComboBoxItem)EmploymentCombo.SelectedItem).Content,
                Education  = ((ComboBoxItem)EducationCombo.SelectedItem).Content,
                Marital    = ((ComboBoxItem)MaritalCombo.SelectedItem).Content,
                Occupation = ((ComboBoxItem)OccupationCombo.SelectedItem).Content,
                Income     = income.Text,
                Sex        = ((ComboBoxItem)SexCombo.SelectedItem).Content,
                Deductions = deductions.Text,
                Hours      = hours.Text,
                Accounts   = ((ComboBoxItem)AccountsCombo.SelectedItem).Content,
                Adjustment = adjustment.Text,
            };

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

            viewModel.AuditCollection = new ObservableCollection <Audit>();
            viewModel.AuditCollection.Add(new Audit()
            {
                Status = string.Empty,
                Adjustable_probability    = Convert.ToDouble(predictedResult.GetPredictedProbability("0")),
                NonAdjustable_probability = Convert.ToDouble(predictedResult.GetPredictedProbability("1")),
            });

            //Change of visibility over input and resultant grid
            this.InputGrid.Visibility  = Visibility.Collapsed;
            this.ResultGrid.Visibility = Visibility.Visible;
        }