a 'g@sxddlZddlmZddlmZddlmZmZddl m Z ddl m Z ddl mZGdd d eZGd d d eZdS) N)NDArray)Tuple)ABCabstractmethod)StandardScaler)Lasso) make_pipelinec@s0eZdZdZeeeeeeefdddZdS) BaseSolverz A base solver class. Methods: fit(self, masks: NDArray, outputs: NDArray, num_output_tokens: int) -> Tuple[NDArray, NDArray]: Fit the solver to the given data. masksoutputsnum_output_tokensreturncCsdSN)selfr r r rr1/mnt/userdata/context_cite/context_cite/solver.pyfitszBaseSolver.fitN) __name__ __module__ __qualname____doc__rrintrrrrrrr s  r c@s>eZdZdZd eddddZeeeeeefddd Z dS) LassoRegressionaV A LASSO solver using the scikit-learn library. Attributes: lasso_alpha (float): The alpha parameter for the LASSO regression. Defaults to 0.01. Methods: fit(self, masks: NDArray, outputs: NDArray, num_output_tokens: int) -> Tuple[NDArray, NDArray]: Fit the solver to the given data. {Gz?N) lasso_alpharcCs ||_dSr)r)rrrrr__init__&szLassoRegression.__init__r c Csv|tj}||}t}t|jddd}t||}||||j|j } |j |j |j |jj } | || |fS)NrT)alpha random_state fit_intercept) astypenpfloat32rrrrrcoef_scale_ intercept_mean_T) rr r r XYZscalerlassopipelineweightbiasrrrr)s    zLassoRegression.fit)r) rrrrfloatrrrrrrrrrrs   r)numpyr! numpy.typingrtypingrabcrrZsklearn.preprocessingrZsklearn.linear_modelrZsklearn.pipelinerr rrrrrs