sig
exception InvalidArgument of string
type feature = int
exception BadContinuity of feature
exception DiscreteFeatOutOfBounds of feature * int
type category = int
type contData = float
type dataVal = Discrete of int | Continuous of contData
type data = dataVal array
type trainVal = { data : data; category : category; }
type trainSet
type decisionTree
val c45 : trainSet -> decisionTree
val classify : decisionTree -> data -> category
val emptyTrainSet : int -> int -> bool array -> trainSet
val addData : trainVal -> trainSet -> trainSet
val addDataList : trainVal list -> trainSet -> trainSet
val getSet : trainSet -> trainVal list
val setFeatureMax : int -> int -> trainSet -> unit
val getNbFeatures : trainSet -> int
val getFeatureMax : trainSet -> int array
val getFeatContinuity : trainSet -> bool array
val getNbCategories : trainSet -> int
val getSetSize : trainSet -> int
val toDot :
Format.formatter ->
(Format.formatter -> contData -> unit) -> decisionTree -> unit
val toDotStdout :
(Format.formatter -> contData -> unit) -> decisionTree -> unit
end