Skip to main content

predict

predict(
@object ## llll (required)
@x ## llll/float (required)
) -> llll

Given a fitted ML object and dataset or data point, performs a prediction. If @x is a dataset it returns either a labelset or dataset, based on whether @object performs regression or classification. If @x is a data point, it returns a data point if @object preforms regression, otherwise it returns an integer for the predicted alias.


Arguments

  • @object [llll]: Fitted ML object. (required)
  • @x [llll/float]: Dataset or data point to predict. (required)

Output

Predicted dataset/labelset or data point [llll]


Usage

$indata = null;
$outdata = null;
## generate basic dataset based on "less-than" function
for $i in 1...100 do (
$a = rand(0, 1);
$b = rand(0, 1);
$indata _= [$a $b]; ## input point
$outdata _= [$a < $b] ## expected output (0 or 1)
);
$indataset = dataset($indata); ## input points
$outdataset = dataset($outdata); ## expected outputs
$model = mlp(); ## create mlp model
## fit (i.e., train) model to learn input/output mappping from dataset
for $i in 1...10 do ( ## repeat training to minimize loss
print(fit($model, $indataset, $outdataset), 'Loss:')
);
writeobject($model, "./mlp.json"); ## write as JSON for future use (optional)
$model = readobject("./mlp.json"); ## read pre-trained model from JSON (optional)
$xpoint = 0.25 0.75; ## sample point
$pred = predict($model, $xpoint); ## generate prediction
print($pred, "prediction:") ## should be (almost) 1.0, as 0.25 < 0.75 is true