Source code for causalexplain.estimators.cam.train_linear

import numpy as np
from sklearn.linear_model import LinearRegression


[docs] def train_linear(X, y, pars=None): """ Train a linear regression model. Args: X (numpy.ndarray): Input features, shape (n_samples, n_features). y (numpy.ndarray): Target values, shape (n_samples, 1). pars (dict, optional): Additional parameters for the model. Defaults to None. Returns: dict: A dictionary containing: - 'Yfit' (numpy.ndarray): Predicted values, shape (n_samples, 1). - 'residuals' (numpy.ndarray): Residuals (y - y_pred), shape (n_samples, 1). - 'model' (LinearRegression): Fitted sklearn LinearRegression model. Note: The coefficients of the model can be accessed via the 'model' key in the returned dictionary, specifically using `result['model'].coef_`. """ if pars is None: pars = {} mod = LinearRegression().fit(X, y) result = { 'Yfit': mod.predict(X).reshape(-1, 1), 'residuals': (y - mod.predict(X)).reshape(-1, 1), 'model': mod } # For coefficients, use mod.coef_ return result