
    rh!]              
          d dl Z d dlZd dlmZ d dlZd dlZd dlmZ d dl	m
Z
 d dlmZmZmZ d dlmZmZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ d dlmZmZmZmZm Z m!Z!m"Z"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z)m*Z*m+Z+m,Z,m-Z-  G d de
      Z. G d de
      Z/ G d de      Z0 ejb                         Z2e2jf                  e2jh                  cZ3Z5d Z6d Z7ejp                  js                  de3jt                  d   dz   e;dfd e<dfd e;dfd e;dfg      d        Z=ejp                  js                  dd d e3jt                  d   dg      d!        Z>ejp                  js                  dd" d# d$ g      d%        Z?ejp                  js                  dd& d g      d'        Z@ejp                  js                  dd( d) d* g      d+        ZA G d, d-e
      ZBd. ZCd/ ZDd0 ZEe-d1        ZFd2 ZGejp                  js                  d3 ed4d56       ed57       edd58       edgd58      g      d9        ZHe-d:        ZId; ZJd< ZKd= ZLd> ZMd? ZNd@ ZOdA ZPdB ZQdC ZRdD ZSdE ZTdF ZUejp                  js                  dG e% ed 7       e!             dHf ed 7      eUfg      dI        ZVejp                  js                  dJeeeg      dK        ZWdL ZXejp                  js                  dMe;dNdOge;dPdQ gf      dR        ZYejp                  js                  dSdTdUg      dV        ZZdW Z[y)X    N)Mock)datasets)BaseEstimator)CCAPLSCanonicalPLSRegression)make_friedman1make_regression)PCA)HistGradientBoostingClassifierRandomForestClassifier)NotFittedError)SelectFromModel)
ElasticNetElasticNetCVLassoLassoCVLinearRegressionLogisticRegressionPassiveAggressiveClassifierSGDClassifier)make_pipeline)	LinearSVC)MinimalClassifierassert_allcloseassert_array_almost_equalassert_array_equalskip_if_32bitc                        e Zd Z fdZ xZS )NaNTagc                 F    t         |          }d|j                  _        |S NTsuper__sklearn_tags__
input_tags	allow_nanselftags	__class__s     /var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/sklearn/feature_selection/tests/test_from_model.pyr%   zNaNTag.__sklearn_tags__&   !    w')$(!    __name__
__module____qualname__r%   __classcell__r+   s   @r,   r    r    %        r.   r    c                        e Zd Z fdZ xZS )NoNaNTagc                 F    t         |          }d|j                  _        |S )NFr#   r(   s     r,   r%   zNoNaNTag.__sklearn_tags__-   s!    w')$)!r.   r/   r4   s   @r,   r7   r7   ,   r5   r.   r7   c                        e Zd Z fdZ xZS )NaNTagRandomForestc                 F    t         |          }d|j                  _        |S r"   r#   r(   s     r,   r%   z#NaNTagRandomForest.__sklearn_tags__4   r-   r.   r/   r4   s   @r,   r:   r:   3   r5   r.   r:   c                     t        dddd d       } dD ]`  }t        | |      }|j                  t        t               t        j                  t              5  |j                  t               d d d        b y # 1 sw Y   mxY w)N皙?
   Talphamax_itershufflerandom_statetol)gobbledigookz.5 * gobbledigook	threshold)	r   r   fitdataypytestraises
ValueError	transform)clfrG   models      r,   test_invalid_inputrQ   >   st    
B4TC ; "	y9		$]]:& 	"OOD!	" 	""	" 	"s   A77B 	c                      t               } t        |       }|j                  t        t               |j
                  | u sJ y )N	estimator)r   r   rH   rI   rJ   rT   esttransformers     r,   test_input_estimator_unchangedrX   I   s6    
 
"C!C0KOOD!  C'''r.   zmax_features, err_type, err_msg   zmax_features ==c                      y)Ng      ? Xs    r,   <lambda>r^   Z       r.   z3max_features must be an instance of int, not float.c                 .    t         j                  d   dz   S NrY   )rI   shaper\   s    r,   r^   r^   _   s    djjma' r.   c                      y)Nr[   r\   s    r,   r^   r^   d   r_   r.   c                    t        j                  |      }t        dd      }t        || t        j
                         }t        j                  ||      5  |j                  t        t               d d d        y # 1 sw Y   y xY w)N   r   n_estimatorsrC   rT   max_featuresrG   match)reescaper   r   npinfrK   rL   rH   rI   rJ   )rj   err_typeerr_msgrO   rW   s        r,   test_max_features_errorrs   Q   sh    4 ii G
 aa
@C!LRVVGK 
xw	/ !a ! ! !s   A;;Brj      c                 V   t        dd      }t        || t        j                         }|j	                  t
        t              }| 0|j                  | k(  sJ |j                  d   |j                  k(  sJ yt        |d      rJ |j                  d   t
        j                  d   k(  sJ y)z>Check max_features_ and output shape for integer max_features.rf   r   rg   ri   NrY   max_features_)
r   r   ro   rp   fit_transformrI   rJ   rv   rb   hasattrrj   rO   rW   X_transs       r,   "test_inferred_max_features_integerr{   u   s     !aa
@C!LRVVGK ''a0G((L888}}Q;#<#<<<<;888}}Q4::a=000r.   c                      yra   r[   r\   s    r,   r^   r^      r_   r.   c                      | j                   d   S ra   rb   r\   s    r,   r^   r^      s    AGGAJ r.   c                 4    t        | j                  d   d      S NrY   i'  minrb   r\   s    r,   r^   r^      s    #aggaj%2H r.   c                     t        dd      }t        || t        j                         }|j	                  t
        t              }|j                   | t
              k(  sJ |j                  d   |j                  k(  sJ y)z?Check max_features_ and output shape for callable max_features.rf   r   rg   ri   rY   N)	r   r   ro   rp   rw   rI   rJ   rv   rb   ry   s       r,   #test_inferred_max_features_callabler      sq     !aa
@C!LRVVGK ''a0G$$T(::::=={88888r.   c                 6    t        t        | d         dz        S )Nr   rt   )roundlenr\   s    r,   r^   r^      s    E#ad)a-4H r.   c                     g dg dg dg dg}g d}t        dd      }t        || t        j                   	      }|j	                  ||      }|j
                  d
   |j                  k(  sJ y )N)gףp=
?q=
ףpgףp=
?)gRQg{Gzg333333)r   gQ޿gffffff)gQ?gGz?g?)r   rY   r   rY   rf   r   rg   ri   rY   )r   r   ro   rp   rw   rb   rv   )rj   r]   rJ   rO   rW   rz   s         r,   test_max_features_array_liker      sr     			A 	A
 aa
@C!LRVVGK ''1-G=={88888r.   c                 4    t        | j                  d   d      S r   r   r\   s    r,   r^   r^      s    s1771:u% r.   c                      | j                   d   S ra   r~   r\   s    r,   r^   r^      s     r.   c                      yra   r[   r\   s    r,   r^   r^      r_   r.   c                     t        dd      }t        |       }t        ||t        j                         }|j                  t        t               |j                  t               y)z7Tests that the callable passed to `fit` is called on X.2   r   rg   )side_effectri   N)	r   r   r   ro   rp   rw   rI   rJ   assert_called_with)rj   rO   mrW   s       r,   test_max_features_callable_datar      sL     !bq
AC&A!CaBFF7SKdA&r.   c                       e Zd Zd ZddZy)FixedImportanceEstimatorc                     || _         y N)importances)r)   r   s     r,   __init__z!FixedImportanceEstimator.__init__   s
    &r.   Nc                 L    t        j                  | j                        | _        y r   )ro   arrayr   feature_importances_)r)   r]   rJ   s      r,   rH   zFixedImportanceEstimator.fit   s    $&HHT-=-=$>!r.   r   )r0   r1   r2   r   rH   r[   r.   r,   r   r      s    '?r.   r   c            	          t        j                  ddddddd      \  } }| j                  d   }t        dd	      }t	        |t
        j                   
      }t	        ||t
        j                         }|j                  | |      }|j                  | |      }t        ||       t	        t        dd            }|j                  | |      }t        j                  |j                  j                        }t        j                  | d      }	t        d|j                  d   dz         D ]  }
t	        t        dd      |
t
        j                         }|j                  | |      }t        j                  |j                  j                        }t        j                  | d      }t        | d d |	d |
 f   | d d |d |
 f           t        |j                  j                  |j                  j                         y )N  r>      r   F	n_samples
n_featuresn_informativen_redundant
n_repeatedrB   rC   rY   r   rg   rT   rG   ri   g?*   r@   rC   rS   	mergesort)kind)r   make_classificationrb   r   r   ro   rp   rw   r   r   abs
estimator_coef_argsortrange)r]   rJ   rj   rV   transformer1transformer2X_new1X_new2scores1candidate_indices1r   scores2candidate_indices2s                r,   test_max_featuresr      s   ''DAq 771:L
 bq
AC"SRVVGDL"LRVVGL ''1-F''1-FFF# #UR-PQL''1-Fff\,,223GWH;?Av||A23 

&%b9#vvg

 ++Aq1&&00667ZZ{Ca#KZ0011Q8J;J8W5W3X	

 L++11<3J3J3P3PQr.   c            	         t        j                  ddddddd      \  } }| j                  d   }t        j                  g d      }t        d|dz         D ]  }t        t        |      |t        j                   	      }|j                  | |      }t        j                  |j                               d   }t        |t        j                  |             |j                  d   |k(  rJ  y )
Nr   r>   r   r   Fr   rY   )
   r   r   r   r   r   r   rt   rt   rY   )rj   rG   )r   r   rb   ro   r   r   r   r   rp   rw   where_get_support_maskr   arange)r]   rJ   rj   feature_importancesr   rW   X_newselected_feature_indicess           r,   test_max_features_tiebreakr      s    ''DAq 771:L((#ABA|a/0 	,
%$%89#vvg

 ))!Q/#%88K,I,I,K#LQ#O 3RYYz5JK{{1~+++	,r.   c            	      `   t        j                  ddddddd      \  } }t        dd      }t        |dt        j
                   	      }|j                  | |      }t        |d
      }|j                  | |      }t        |dd
	      }|j                  | |      }|j                  d   t        |j                  d   |j                  d         k(  sJ |j                  t	        j                  | j                  d         t        j                  d d f         }	t        || d d |	d   f          y )Nr   r>   r   r   Fr   r   rg   ri   g{Gz?r   rY   )r   r   r   r   ro   rp   rw   rb   r   rN   r   newaxisr   )
r]   rJ   rV   r   r   r   r   transformer3X_new3selected_indicess
             r,   test_threshold_and_max_featuresr      s   ''DAq !bq
AC"SqRVVGTL''1-F"SDAL''1-F"SqDQL''1-F<<?c&,,q/6<<?CCCC#--bii
.CBJJPQM.RSFAa!1!!4456r.   c            	      $   t        j                  ddddddd      \  } }t        dd      }t        d	d
gt        j
                  t        j                  g      D ]  \  }}t        ||      }|j                  | |       t        |j                  d      sJ |j                  |       }|j                  d   | j                  d   k  sJ |j                  j                  }t	        j                  |       ||      kD  }t        || d d |f           y )Nr   r>   r   r   Fr   r   rg   meanmedianr   r   rY   )r   r   r   zipro   r   r   r   rH   rx   r   rN   rb   r   r   r   )	r]   rJ   rV   rG   funcrW   r   r   feature_masks	            r,   test_feature_importancesr     s    ''DAq !bq
AC1BGGRYY3GH 
=	4%yI1{--/EFFF%%a({{1~
***!,,AAvvk*T+->>!%1l?);<
=r.   c            	         t        j                  ddddddd      \  } }t        j                  |j                        }||dk(  xx   dz  cc<   t        dd      }t        |	      }|j                  | |d 
       |j                         }|j                  | ||
       |j                         }t        j                  ||k(        rJ |j                  | |d|z  
       |j                         }t        j                  ||k(        sJ y )Nd   r>   r   r   Fr   rY   )rC   fit_interceptrS   )sample_weight)
r   r   ro   onesrb   r   r   rH   r   all)r]   rJ   r   rV   rW   maskweighted_maskreweighted_masks           r,   test_sample_weightr   3  s    ''DAq GGAGG$M!q&S 
!5
AC!C0KOOAqO-((*DOOAqO6113Mvvmt+,,,OOAqM(9O:!335O66-?2333r.   rT   r=   r   r   rC   l1_ratiorC   c           	         t        j                  ddddddd      \  }}t        |       }|j                  ||       |j	                  |      }t        j                  |j                  j                        dkD  }t        ||d d |f          y )	Nr   r>   r   r   Fr   rS   gh㈵>)
r   r   r   rH   rN   ro   r   r   r   r   )rT   r]   rJ   rW   r   r   s         r,   test_coef_default_thresholdr   O  s     ''DAq "I6KOOAq!!!$E66+((../$6DeQq$wZ0r.   c            
         t        j                  dddddddd      \  } }t               }t        dd	gt        j
                  t        j                  g      D ]  \  }}d
dt        j                  fD ]  }t        t               ||      }|j                  | |       t        |j                  d      sJ |j                  |       }|j                  d
   | j                  d
   k  sJ |j                  | |       t        j                  j                  |j                   d|      }| ||      kD  }	t#        || d d |	f            y )Nr   r>   r   r   Fr   )r   r   r   r   r   rB   rC   	n_classesr   r   rY   rt   )rT   rG   
norm_orderr   )axisord)r   r   r   r   ro   r   r   rp   r   rH   rx   r   rN   rb   linalgnormr   r   )
r]   rJ   rV   rG   r   orderrW   r   r   r   s
             r,   test_2d_coefr   k  s7   ''	DAq 
C1BGGRYY3GH A	4BFF^ 	AE),.)PUK OOAq!;117;;;))!,E;;q>AGGAJ... GGAqM))...FK&k)::L%eQq,-?@	AAr.   c                     t        dddd       } t        |       }|j                  t        t        t        j                  t                     |j                  }|j                  t        t        t        j                  t                     |j                  }||u sJ |j                  t              }|j                  t        j                  t        t        f      t        j                  t        t        f             t        ||j                  t                     t        t                     }t        |d      rJ y )Nr   Frf   )rC   rB   rA   rD   rS   classespartial_fit)r   r   r   rI   rJ   ro   uniquer   rN   rH   vstackconcatenater   r   rx   )rV   rW   	old_model	new_modelX_transforms        r,   test_partial_fitr     s    
%tC "C0KD!RYYq\:&&ID!RYYq\:&&I	!!!''-KOOBIItTl+R^^QF-CDk;+@+@+FG ",B,DEK{M2222r.   c                      t        d      } t        |       }|j                  t        t               |j                  d       |j                  t        t               |j                  j                  dk(  sJ y )Nr   r   rS   r   )estimator__C)r   r   rH   rI   rJ   
set_paramsr   CrU   s     r,   test_calling_fit_reinitializesr     s]    

#C!C0KOOD!,OOD!!!##s***r.   c                  p   t        ddddd       } t        |       }|j                  t        t               |j                  t              }| j                  t        t               t        | d      }t        |j                  t              |       |j                  t        t               |j                  | usJ t        | d      }|j                  t        t               t        |j                  t              |       t        ddddd       } t        | d      }d}t        j                  t        |	      5  |j                  t        t               d d d        t        j                  t        |	      5  |j                  t        t               d d d        t        j                  t        |	      5  |j                  t               d d d        t        dddd 
      j                  t        t              } t        | d      }|j                  t        t               t        |j                  j                  | j                         |j                  t        t               t        |j                  j                  | j                         y # 1 sw Y   >xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr=   r>   Tr   r?   )prefitFzEWhen `prefit=True`, `estimator` is expected to be a fitted estimator.rk   )r@   rA   rB   rD   )r   r   rH   rI   rJ   rN   r   r   rK   rL   r   r   r   r   )rO   rP   r   rr   s       r,   test_prefitr     s   
 cB1RV
WCC E	IIdA//$'KGGD!C-Eeood3[A	IIdA3&&& C.E	IIdAeood3[A cB1RV
WCC-EUG	~W	5 		$	~W	5 #$"#	~W	5 
 cB$
G
K
KDRS
TCC-E	IIdAE$$**CII6	dAE$$**CII6 # # s$   ;J9J7J,JJ),J5c                     t        dd      } | j                  t        t               t	        | dd       }d}t        j                  t        |      5  |j                  t               d	d	d	       d
}|j                  |       t        j                  t        d      5  |j                  t               d	d	d	       y	# 1 sw Y   WxY w# 1 sw Y   y	xY w)z:Check the interaction between `prefit` and `max_features`.rf   r   rg   Tc                      | j                   d   S ra   r~   r\   s    r,   r^   z*test_prefit_max_features.<locals>.<lambda>  s    177ST: r.   r   rj   z[When `prefit=True` and `max_features` is a callable, call `fit` before calling `transform`.rk   Ng      @)rj   z!`max_features` must be an integer)r   rH   rI   rJ   r   rK   rL   r   rN   r   rM   )rT   rP   rr   rj   s       r,   test_prefit_max_featuresr     s     'AAFIMM$IdAUVE	&  
~W	5  L	,/	z)L	M    s   C !C C	Cc                  `   t        ddd      \  } }t        g dd      }t        |      }|j                  | |       |j	                         }|j                         }t        j                  t        | j                  d         D cg c]  }d	| 	 c}      |   }t        ||       y
c c}w )zWCheck if ElasticNetCV works with a list of floats.

    Non-regression test for #30936.rf   r   r   )r   r   rC   )g      ?      ?g      ?r   rS   rY   xN)r
   r   r   rH   get_feature_names_outget_supportro   r   r   rb   r   )r]   rJ   rT   selector	names_outr   iexpecteds           r,   'test_get_feature_names_out_elasticnetcvr    s     aqqIDAq&7aHI3HLLA..0I!Dxx%
*;<Q1QC<=dCHy(+ =s   B+c                     t        dd      } | j                  t        t               t	        | dd      }t        |      j                  }d| d}t        j                  t        |	      5  |j                          d
d
d
       |j                  t        t               |j                         }|dgk(  sJ y
# 1 sw Y   <xY w)z;Check the interaction between prefit and the feature names.rt   r   rg   TrY   r   zThis z_ instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.rk   Nx3)r   rH   rI   rJ   r   typer0   rK   rL   r   r  )rO   rP   namerr   feature_namess        r,   !test_prefit_get_feature_names_outr    s    
 aa
@CGGD!C1=E;D
v = 	=  
~W	5 &##%& 
IIdA//1MTF"""& &s   ,B88Cc                  Z   t        dd      } t        | d      }|j                  t        t               |j                  t              }| j                  t        t               dt        j                  | j                        z  }| j                  |kD  }t        |t        d d |f          y )Nr   r   rg   z0.5*meanrF   r   )
r   r   rH   rI   rJ   rN   ro   r   r   r   )rV   rP   r   rG   r   s        r,   test_threshold_stringr    s    
 bq
ACC:6E	IIdA//$'K GGD!bggc6677I##i/Dk44=9r.   c                     t        ddddd       } t        | d      }|j                  t        t               |j                  t              }d|_        |j                  d	   |j                  t              j                  d	   kD  sJ y )
Nr=   r>   Tr   r?   z
0.1 * meanrF   z
1.0 * meanrY   )r   r   rH   rI   rJ   rN   rG   rb   )rO   rP   r   s      r,    test_threshold_without_refittingr    ss    
cB1RV
WCC<8E	IIdA//$'K #EOQ%//$"7"="=a"@@@@r.   c                      t        d      } t        |       }t        j                         }t        j
                  |d<   t        j                  |d<   |j                  t        t               y )Nr   r   rS   rY   )	r   r   rI   copyro   nanrp   rH   rJ   )rO   rP   nan_datas      r,   test_fit_accepts_nan_infr  '  sI    
(a
8Cc*Eyy{H&&HQK&&HQK	IIdAr.   c                      t        dd      } t        j                         }t        |       }|j	                  |t
               t        j                  |d<   t        j                  |d<   |j                  |       y )Nr   r   rg   rS   rY   )
r:   rI   r  r   rH   rJ   ro   r  rp   rN   )rO   r  rP   s      r,   test_transform_accepts_nan_infr  4  sW    
#A
>Cyy{Hc*E	IIh&&HQK&&HQK	OOHr.   c                      t               } t        |       }|j                         j                  j                  du sJ t               }t        |      }|j                         j                  j                  du sJ y )NrS   TF)r    r   r%   r&   r'   r7   )allow_nan_estrP   
no_nan_ests      r,   'test_allow_nan_tag_comes_from_estimatorr  B  sj    HMm4E!!#..88D@@@Jj1E!!#..88EAAAr.   c                 @    t        j                  | j                        S r   )ro   r   explained_variance_)pca_estimators    r,   _pca_importancesr!  L  s    66-3344r.   zestimator, importance_getterz$named_steps.logisticregression.coef_c                     t        | d|      }|j                  t        t               |j	                  t              j
                  d   dk(  sJ y )Nr   )rG   importance_getterrY   )r   rH   rI   rJ   rN   rb   )rT   r#  r  s      r,   test_importance_getterr$  P  sJ     V7HH LLqd#))!,111r.   PLSEstimatorc                     t        ddd      \  }} | d      }t        t        |      |      j                  ||      }|j	                  ||      dkD  sJ y)	zCheck the behaviour of SelectFromModel with PLS estimators.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/12410
    r   r>   r   r   r   rC   rY   )n_componentsr   N)r	   r   r   rH   score)r%  r]   rJ   rT   rP   s        r,   test_select_from_model_plsr*  b  sW     B2AFDAq!,I/)4i@DDQJE;;q!s"""r.   c                  $   t        j                  d       t        j                  dd      \  } t	        j
                        }fd}t        t               |      j                  |       }t        |j                  j
                         t	        |j                               }||k  sJ t        j                         5  t        j                  dt               |j!                  j"                  dd        d	d	d	       y	# 1 sw Y   y	xY w)
zvSelectFromModel works with estimators that do not support feature_names_in_.

    Non-regression test for #21949.
    pandasTas_frame
return_X_yc                 H    t        j                  j                  d         S ra   )ro   r   rb   )rT   r]   s    r,   r#  zHtest_estimator_does_not_support_feature_names.<locals>.importance_getterx  s    yy$$r.   )r#  errorrY   r   N)rK   importorskipr   	load_irissetcolumnsr   r   rH   r   feature_names_in_r  warningscatch_warningssimplefilterUserWarningrN   iloc)rJ   all_feature_namesr#  r  feature_names_outr]   s        @r,   -test_estimator_does_not_support_feature_namesr>  o  s    
 !t=DAqAII% /@	c!Qi 
 x11199=H::<=0000		 	 	" (g{3166!A;'( ( (s   9DDzerror, err_msg, max_featuresz max_features == 10, must be <= 4r>   zmax_features == 5, must be <= 4c                 &    | j                   d   dz   S ra   r~   )r  s    r,   r^   r^     s    !''!*q. r.   c                     t        j                  ddd      \  }}t        j                  | |      5  t	        t               |      j                  ||ddg       d	d	d	       y	# 1 sw Y   y	xY w)
zDTest that partial_fit from SelectFromModel validates `max_features`.r   r   r   r'  rk   rT   rj   rY   r   N)r   r   rK   rL   r   r   r   )r1  rr   rj   r]   rJ   s        r,   &test_partial_fit_validate_max_featuresrB    si     ''DAq 
uG	, ,#oL	

+aQF+
+, , ,s   *A&&A/r.  TFc                    t        j                  d       t        j                  | d      \  }}t	        t               d      j                  ||g d      }| r!t        |j                  |j                         y	t        |d      rJ y	)
zITest that partial_fit from SelectFromModel validates `feature_names_in_`.r,  Tr-  r   rA  )r   rY   rt   r   r6  N)rK   r2  r   r3  r   r   r   r   r6  r5  rx   )r.  r]   rJ   r  s       r,   'test_partial_fit_validate_feature_namesrD    s{     !xDADAqqIUU	1i V H 855qyyA8%89999r.   c                     t        t                     } d}d}t        j                  t        |      5 }| j                  t        t              j                  t               ddd       t        j                  j                  t              sJ |t        |j                  j                        v sJ y# 1 sw Y   SxY w)zCheck that we raise the proper AttributeError when the estimator
    does not implement the `partial_fit` method, which is decorated with
    `available_if`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/28108
    rS   z5This 'SelectFromModel' has no attribute 'partial_fit'z8'LinearRegression' object has no attribute 'partial_fit'rk   N)r   r   rK   rL   AttributeErrorrH   rI   rJ   r   
isinstancevalue	__cause__str)
from_model	outer_msg	inner_msg	exec_infos       r,   )test_from_model_estimator_attribute_errorrO    s     !+;+=>JGIJI	~Y	7 29tQ++D12ioo//@@@IOO5566662 2s   .B44B=)\rm   r7  unittest.mockr   numpyro   rK   sklearnr   sklearn.baser   sklearn.cross_decompositionr   r   r   sklearn.datasetsr	   r
   sklearn.decompositionr   sklearn.ensembler   r   sklearn.exceptionsr   sklearn.feature_selectionr   sklearn.linear_modelr   r   r   r   r   r   r   r   sklearn.pipeliner   sklearn.svmr   sklearn.utils._testingr   r   r   r   r   r    r7   r:   r3  irisrI   targetrJ   rQ   rX   markparametrizerb   rM   	TypeErrorrs   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r!  r$  r*  r>  rB  rD  rO  r[   r.   r,   <module>rc     s   	      & H H < % S - 5	 	 	 + ! ] } /  x
))T[[a"( % JJqMA	
 A	
 (	
 	
!2!32! !Q

1t)DE1 F1 &(HI9	9 *H!)LM9 N9" %';[I	?} ?(RV,472 = =248 Cb)R AB/qc3	11& A A>3(+(7V2,#&
:	A
B5 " #1-/A/CD2	
 
!	./	2	2 #|])KL	# M	#(8 "	7<	68PQ,, dE]3: 4:7r.   