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)