Predict with Go
1. Install.
go get -u github.com/modelfoxdotdev/modelfox-go
2. Predict.
First, import the modelfox library and load the model file. Then, make an object with info for a new patient that matches the CSV, excluding the diagnosis column. Finally, call predict and print out the result.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import "github.com/modelfoxdotdev/modelfox/languages/go"
// Load the model from the path.
model, err := modelfox.LoadModelFromPath("./heart_disease.modelfox", nil)
if err != nil {
log.Fatal(err)
}
// Destroy the model when it is no longer needed to free up memory.
defer model.Destroy()
// Create an example input matching the schema of the CSV file the model was trained on.
// Here the data is just hard-coded, but in your application you will probably get this
// from a database or user input.
input := modelfox.Input{
"age": 63,
"gender": "male",
"chest_pain": "typical angina",
"resting_blood_pressure": 145,
"cholesterol": 233,
"fasting_blood_sugar_greater_than_120": "true",
"resting_ecg_result": "probable or definite left ventricular hypertrophy",
"exercise_max_heart_rate": 150,
"exercise_induced_angina": "no",
"exercise_st_depression": 2.3,
"exercise_st_slope": "downsloping",
"fluoroscopy_vessels_colored": "0",
"thallium_stress_test": "fixed defect",
}
// Make the prediction!
output := model.PredictOne(input, nil)
// Print the output.
fmt.Println("Output:", output)