diff --git a/openeo_driver/ProcessGraphDeserializer.py b/openeo_driver/ProcessGraphDeserializer.py index 60ac1c3a..59bf43cf 100644 --- a/openeo_driver/ProcessGraphDeserializer.py +++ b/openeo_driver/ProcessGraphDeserializer.py @@ -775,6 +775,9 @@ def predict_random_forest(args: dict, env: EvalEnv) -> SaveResult: def predict_catboost(args: dict, env: EvalEnv) -> SaveResult: pass +@process_registry_100.add_function(spec=read_spec("openeo-processes/experimental/predict_probabilities.json")) +def predict_probabilities(args: dict, env: EvalEnv) -> SaveResult: + pass @process def add_dimension(args: dict, env: EvalEnv) -> DriverDataCube: diff --git a/openeo_driver/specs/openeo-processes/experimental/predict_probabilities.json b/openeo_driver/specs/openeo-processes/experimental/predict_probabilities.json new file mode 100644 index 00000000..2921a377 --- /dev/null +++ b/openeo_driver/specs/openeo-processes/experimental/predict_probabilities.json @@ -0,0 +1,45 @@ +{ + "id": "predict_probabilities", + "summary": "Predict class probabilities from a machine learning model", + "description": "Applies a machine learning model to an array and predicts a probability for each class.", + "categories": [ + "machine learning", + "reducer" + ], + "experimental": true, + "parameters": [ + { + "name": "data", + "description": "An array of numbers.", + "schema": { + "type": "array", + "items": { + "type": [ + "number", + "null" + ] + } + } + }, + { + "name": "model", + "description": "A model object that can be trained with the processes ``fit_regr_()`` (regression) and ``fit_class_()`` (classification).", + "schema": { + "type": "object", + "subtype": "ml-model" + } + } + ], + "returns": { + "description": "A probability for each class", + "schema": { + "type": "array", + "items": { + "type": [ + "number", + "null" + ] + } + } + } +} \ No newline at end of file