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; }
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; }
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; }
/// <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); }
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; }
/// <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); }
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; }
/// <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); }
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; }