Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Interpretml Interpret InitializeGradientsAndHessians

From Leeroopedia


Knowledge Sources
Domains Machine_Learning, EBM_Core
Last Updated 2026-02-07 12:00 GMT

Overview

Implements the initialization of gradients and hessians for RMSE regression in the EBM boosting and interaction detection pipelines.

Description

The InitializeGradientsAndHessians.cpp file contains the InitializeRmseGradientsAndHessiansBoosting and InitializeRmseGradientsAndHessiansInteraction functions. RMSE regression is described as "super super special" because it does not need to keep per-sample scores -- it can work directly with gradients. The boosting initialization function iterates through the shared dataset, handling bag replication (for bagging), initial scores (intercept), and writes gradients into the DataSubsetBoosting gradient/hessian arrays. It handles both training and validation subsets by checking the bag direction. The interaction initialization function performs the same operation for DataSetInteraction. Both functions convert float data types to match the compute zone's floating-point precision (float32 or float64).

Usage

Called once during boosting and interaction session initialization, specifically for RMSE regression objectives. The gradients are initialized as the negative residuals (target - prediction), incorporating any initial scores and intercept values provided by the caller.

Code Reference

Source Location

Signature

extern void InitializeRmseGradientsAndHessiansBoosting(
    const unsigned char* const pDataSetShared,
    const double intercept,
    const BagEbm direction,
    const BagEbm* const aBag,
    const double* const aInitScores,
    DataSetBoosting* const pDataSet);

extern void InitializeRmseGradientsAndHessiansInteraction(
    const unsigned char* const pDataSetShared,
    const size_t cWeights,
    const double intercept,
    const BagEbm* const aBag,
    const double* const aInitScores,
    DataSetInteraction* const pDataSet);

I/O Contract

Input Description
pDataSetShared Shared dataset containing target values
intercept Model intercept value
direction BagEbm{1} for training, BagEbm{-1} for validation
aBag Bag replication array (nullptr for no bagging)
aInitScores Initial prediction scores (optional)
Output Description
pDataSet DataSetBoosting/DataSetInteraction with initialized gradients

Usage Examples

# Called internally via native bindings
from interpret.glassbox import ExplainableBoostingRegressor
ebm = ExplainableBoostingRegressor()
ebm.fit(X, y)  # InitializeGradientsAndHessians runs at start of training for RMSE

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment