`L idZddlmZmZddlmZddlmZmZddl Z ddl m Z ddl mZdd lmZd d lmZd gZGd de eZddZy)zUtilities for meta-estimators.)ABCMetaabstractmethod)suppress)AnyListN) BaseEstimator)_safe_indexing)get_tags) available_ifr c\eZdZUdZeeed<edZdfd Z fdZ dZ dZ xZ S) _BaseCompositionzJHandles parameter management for classifiers composed of named estimators.stepscyN)selfs b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/utils/metaestimators.py__init__z_BaseComposition.__init__s c,t ||}|s|St||} |j||D]D\}}t |ds|jdjD]\}}|||d|<F|S#tt f$r|cYSwxYw)Ndeep get_paramsT__)superrgetattrupdate TypeError ValueErrorhasattritems) rattrrout estimatorsname estimatorkeyvalue __class__s r _get_paramsz_BaseComposition._get_paramssg d +JT4(   JJz " * 8OD)y,/"+"6"6D"6"A"G"G"I8JC27CD#./8 8 :&  J  sA??BBc ||vrt|||j|t||}t|trp|rnt t 5t|\}}t |jD].}d|vs||vs |j|||j|0 dddt|,di||S#1swYxYw)Nrr) setattrpopr isinstancelistrr zipkeys_replace_estimatorr set_params)rr$paramsr# item_names_r'r+s r _set_paramsz_BaseComposition._set_params3s 6> D$ 4 0 1d# eT "u)$ N #U A /ND4'DJ,>//dFJJtrfsA$ ( ""'  K}K\Ar