Continuous-target region clustering

Discover Diabetes regions with internally similar numeric targets. This workflow assigns region IDs; it does not predict disease progression values.

from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from InsideForest import InsideForestContinuousRegionClusterer

X, y = load_diabetes(return_X_y=True, as_frame=True)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.25, random_state=42
)
model = InsideForestContinuousRegionClusterer(
    rf_params={"n_estimators": 50, "max_depth": 6, "random_state": 42},
    leaf_percentile=90,
    min_support=3,
)
train_ids = model.fit_predict(X_train, y_train)
test_ids = model.predict(X_test)
assignments = model.assign_regions(X_test)
quality = model.region_quality_report(X_test, y_test)

Interpret quality["target_variance_explained"] as η² and always report coverage and unmatched rate beside it. Region rows retain target mean, median, deviation, IQR, range, mean shift, and dispersion reduction.

Run python experiments/validate_regression_regions.py --profile quick for repeated validation. Forest R²/RMSE is reported separately as generator diagnostics.