{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schema.rtemis.org/hyperparameters/lightcart/v1/schema.json",
  "title": "rtemis LightCARTHyperparameters",
  "description": "Single LightGBM tree (CART mode). See `setup_LightCART`.",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "num_leaves": {
      "oneOf": [
        {
          "type": "integer",
          "minimum": 1
        },
        {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 1
          },
          "minItems": 1,
          "description": "Tuning search values."
        }
      ],
      "default": 32,
      "description": "Maximum number of leaves in one tree."
    },
    "max_depth": {
      "oneOf": [
        {
          "type": "integer"
        },
        {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "minItems": 1,
          "description": "Tuning search values."
        }
      ],
      "default": -1,
      "description": "Maximum tree depth. -1 = no limit."
    },
    "lambda_l1": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 0
        },
        {
          "type": "array",
          "items": {
            "type": "number",
            "minimum": 0
          },
          "minItems": 1,
          "description": "Tuning search values."
        }
      ],
      "default": 0,
      "description": "L1 regularization."
    },
    "lambda_l2": {
      "oneOf": [
        {
          "type": "number",
          "minimum": 0
        },
        {
          "type": "array",
          "items": {
            "type": "number",
            "minimum": 0
          },
          "minItems": 1,
          "description": "Tuning search values."
        }
      ],
      "default": 0,
      "description": "L2 regularization."
    },
    "min_data_in_leaf": {
      "oneOf": [
        {
          "type": "integer",
          "minimum": 1
        },
        {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 1
          },
          "minItems": 1,
          "description": "Tuning search values."
        }
      ],
      "default": 20,
      "description": "Minimum number of cases in a leaf."
    },
    "max_cat_threshold": {
      "oneOf": [
        {
          "type": "integer",
          "minimum": 1
        },
        {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 1
          },
          "minItems": 1,
          "description": "Tuning search values."
        }
      ],
      "default": 32,
      "description": "Maximum number of split points for categorical features."
    },
    "min_data_per_group": {
      "oneOf": [
        {
          "type": "integer",
          "minimum": 1
        },
        {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 1
          },
          "minItems": 1,
          "description": "Tuning search values."
        }
      ],
      "default": 100,
      "description": "Minimum number of cases per categorical group."
    },
    "linear_tree": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "array",
          "items": {
            "type": "boolean"
          },
          "minItems": 1,
          "description": "Tuning search values."
        }
      ],
      "default": false,
      "description": "Fit linear models at leaves."
    },
    "objective": {
      "type": ["string", "null"],
      "default": null,
      "description": "LightGBM objective. NULL = set from outcome type."
    },
    "ifw": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "array",
          "items": {
            "type": "boolean"
          },
          "minItems": 1,
          "description": "Tuning search values."
        }
      ],
      "default": false,
      "description": "Inverse Frequency Weighting in classification."
    }
  }
}
