in Solutions/HeartDisease/HeartDisease/HeartDiseasePrediction - CS/MainPage.xaml.cs [134:186]
private async void Button_Click(object sender, RoutedEventArgs e)
{
try
{
//Bind model input
ModelInput.Input3 = new List<float>();
foreach(var n in GetThalValue()){
ModelInput.Input3.Add(n);
}
foreach (var n in GetChestPainType())
{
ModelInput.Input3.Add(n);
}
ModelInput.Input3.Add(GetMajorVesselsNumber());
ModelInput.Input3.Add(GetSTDepByExercise());
ModelInput.Input3.Add(GetAnginaByExercise());
ModelInput.Input3.Add(GetMaxHeartRate());
foreach (var n in GetExerciseSlope())
{
ModelInput.Input3.Add(n);
}
ModelInput.Input3.Add(GetAge());
//Evaluate the model
ModelOutput = await ModelGen.EvaluateAsync(ModelInput);
//Iterate through evaluation output to determine highest probability digit
float maxProb = 0;
int maxIndex = 0;
for (int i = 0; i < ModelOutput.Softmax99_Output_0.Count; i++)
{
if (ModelOutput.Softmax99_Output_0[i] > maxProb)
{
maxIndex = i;
maxProb = ModelOutput.Softmax99_Output_0[i];
}
}
Debug.WriteLine("Yes: {0:0.00}%, No: {1:0.00}%", ModelOutput.Softmax99_Output_0[0] * 100, ModelOutput.Softmax99_Output_0[1] * 100);
var percentage = ModelOutput.Softmax99_Output_0[0] * 100;
textBlockResult.Text = String.Format("Probability of Heart Disease is {0:0.00}%", percentage);
icon.Text = (maxIndex == 0) ? "😧" : "😃";
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
}