Mavryk_benchmark.Inference
type problem =
| Non_degenerate of {
lines : constrnt list;
input : Maths.matrix;
output : Maths.matrix;
nmap : NMap.t;
}
| Degenerate of {
predicted : Maths.matrix;
measured : Maths.matrix;
}
type scores = {
r2_score : float option;
rmse_score : float;
tvalues : (Free_variable.t * float) list;
}
val scores_encoding : scores Mavryk_base.TzPervasives.Data_encoding.t
val pp_scores : Stdlib.Format.formatter -> scores -> unit
val scores_to_csv_column : (string * Namespace.t) -> scores -> Csv.csv
type solution = {
mapping : (Free_variable.t * float) list;
weights : Maths.matrix;
intercept_lift : float;
The diff required to overestimate all measurements by the predictions. This diff should be applied to the intercept parameter when this solution is for the allocation costs.
*)scores : scores;
}
val pp_error_statistics : Stdlib.Format.formatter -> error_statistics -> unit
val compute_error_statistics :
predicted:Maths.matrix ->
measured:Maths.matrix ->
error_statistics
Compute prediction error
val make_problem :
data:'workload Measure.workload_data ->
model:'workload Model.t ->
overrides:(Free_variable.t -> float option) ->
problem
make_problem ~data ~model ~overrides
makes a benchmark problem for a solver from the workload data
and the model model
. overrides
specify the variables whose values are already known.
solve_problem problem solver
solves problem
using solver
.
val mapping_to_csv :
(Free_variable.t * float) Mavryk_base.TzPervasives.trace ->
Csv.csv