
    ӆhD                         S SK rS SKrSSKJrJrJrJrJrJ	r	J
r
  SSKJr  SSKJr  S rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rg)    N   )DeepExplainerGradientExplainerKernelExplainerLinearExplainerSamplingExplainerTreeExplainerkmeans)other   )	KerasWrapc                 ,    [        XSSS9R                  $ )zLinear SHAP (corr 1000)correlation_dependent  )feature_perturbationnsamplesr   shap_valuesmodeldatas     iC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\shap/benchmark/methods.pylinear_shap_corrr      s    5=T_cdppp    c                 *    [        XSS9R                  $ )zLinear SHAP (ind)interventionalr   r   r   s     r   linear_shap_indr      s    5=MNZZZr   c                 B    [         R                  " U 5      R                  $ )Coefficients)r   CoefficentExplainerattributionsr   s     r   coefr#      s    $$U+888r   c                 @    [         R                  " 5       R                  $ )z)Random
color = #777777
linestyle = solid
)r   RandomExplainerr"   r   s     r   randomr&       s    
   "///r   c                    ^ ^ UU 4S j$ )zJKernel SHAP 1000 mean ref.
color = red_blue_circle(0.5)
linestyle = solid
c                 b   > [        TR                  [        TS5      5      R                  U SSS9$ )Nr   r   r   )r   l1_reg)r   predictr
   r   Xr   r   s    r   <lambda>*kernel_shap_1000_meanref.<locals>.<lambda>-   s+    _U]]F4ODPPQR]ajkPlr    r   s   ``r   kernel_shap_1000_meanrefr0   (   s    
 mlr   c                    ^ ^ UU 4S j$ )z9IME 1000
color = red_blue_circle(0.5)
linestyle = dashed
c                 L   > [        TR                  T5      R                  U SS9$ )Nr   r   )r   r*   r   r+   s    r   r-   $sampling_shap_1000.<locals>.<lambda>5   s"    &u}}d;GGTXGYr   r/   r   s   ``r   sampling_shap_1000r5   0   s    
 ZYr   c                 *    [        U SS9R                  $ )z;TreeExplainer
color = red_blue_circle(0)
linestyle = solid
tree_path_dependentr   r	   r   r   s     r   tree_shap_tree_path_dependentr9   8   s    
 5JKWWWr   c           	          [         R                  R                  US[        SUR                  S   5      SS9n[        XSS9R                  $ )zJTreeExplainer (independent)
color = red_blue_circle(0)
linestyle = dashed
F   r   )replace	n_samplesrandom_stater   r   )sklearnutilsresampleminshaper	   r   )r   r   data_subsamples      r   tree_shap_independent_200rE   @   sJ    
 ]]++D%3sTXT^T^_`TaKbqr+sNEUVbbbr   c                    ^  U 4S jnU$ )zFmean(|TreeExplainer|)
color = red_blue_circle(0.25)
linestyle = solid
c                   > [        T5      R                  U 5      n[        U[        5      (       aZ  U Vs/ s HL  n[        R
                  " [        R                  " U5      R                  S5      U R                  S   S45      PMN     sn$ [        R
                  " [        R                  " U5      R                  S5      U R                  S   S45      $ s  snf )Nr   r   )	r	   r   
isinstancelistnptileabsmeanrC   )r,   vsvr   s      r   fmean_abs_tree_shap.<locals>.fO   s    % ,,Q/aKLM1RBGGBFF2JOOA.Q@1MM77266!9>>!,qwwqz1o>> Ns   ACr/   )r   r   rP   s   `  r   mean_abs_tree_shaprR   I   s    ? Hr   c                    ^  U 4S j$ )z5Saabas
color = red_blue_circle(0)
linestyle = dotted
c                 6   > [        T5      R                  U SS9$ )NT)approximater8   )r,   r   s    r   r-   saabas.<locals>.<lambda>^   s    ]5)55aT5Jr   r/   r   s   ` r   saabasrW   Y   s    
 KJr   c                 B    [         R                  " U 5      R                  $ )zFGain/Gini Importance
color = red_blue_circle(0.25)
linestyle = dotted
)r   TreeGainExplainerr"   r   s     r   	tree_gainrZ   a   s    
 ""5)666r   c                    ^ ^ UU 4S j$ )0LIME Tabular 1000
color = red_blue_circle(0.75)
c                 `   > [         R                  " TR                  TSS9R                  U SS9$ )N
regressionmoder   r3   )r   LimeTabularExplainerr*   r"   r+   s    r   r-   .lime_tabular_regression_1000.<locals>.<lambda>m   s*    U//t,Wddefqudvr   r/   r   s   ``r   lime_tabular_regression_1000rc   i   s     wvr   c                    ^ ^ UU 4S j$ )r\   c                 f   > [         R                  " TR                  TSS9R                  U SS9S   $ )Nclassificationr_   r   r3   r   )r   ra   predict_probar"   r+   s    r   r-   2lime_tabular_classification_1000.<locals>.<lambda>t   s9    U//0C0CTP`ann	D o 	r   r/   r   s   ``r    lime_tabular_classification_1000ri   p   s    	 	r   c                    ^ ^ UU 4S j$ )z#MAPLE
color = red_blue_circle(0.6)
c                 b   > [         R                  " TR                  T5      R                  U SS9$ NF)multiply_by_input)r   MapleExplainerr*   r"   r+   s    r   r-   maple.<locals>.<lambda>}   s'    U))%-->KKAafKgr   r/   r   s   ``r   maplerp   y   s     hgr   c                    ^ ^ UU 4S j$ )z;Tree MAPLE
color = red_blue_circle(0.6)
linestyle = dashed
c                 N   > [         R                  " TT5      R                  U SS9$ rl   )r   TreeMapleExplainerr"   r+   s    r   r-   tree_maple.<locals>.<lambda>   s#    U--eT:GG]bGcr   r/   r   s   ``r   
tree_mapleru      s    
 dcr   c                    ^ [        U [        5      (       a  U R                  n [        U [	        US5      R
                  5      mU4S jnU$ )zDeep SHAP (DeepLIFT)r   c                 |   > TR                  U 5      n[        U[        5      (       a  [        U5      S:X  a  US   $ U$ Nr   r   r   rH   rI   lenr,   phi	explainers     r   rP   deep_shap.<locals>.f   8    ##A&c4  SX]q6MJr   )rH   r   r   r   r
   r   r   r   rP   r}   s      @r   	deep_shapr      s=    %##eVD!_%9%9:I Hr   c                 l   ^ [        U [        5      (       a  U R                  n [        X5      mU4S jnU$ )zExpected Gradientsc                 |   > TR                  U 5      n[        U[        5      (       a  [        U5      S:X  a  US   $ U$ rx   ry   r{   s     r   rP   expected_gradients.<locals>.f   r   r   )rH   r   r   r   r   s      @r   expected_gradientsr      s/    %##!%.I Hr   ) numpyrJ   r?    r   r   r   r   r   r	   r
   
explainersr   modelsr   r   r   r#   r&   r0   r5   r9   rE   rR   rW   rZ   rc   ri   rp   ru   r   r   r/   r   r   <module>r      s         q
[
9
0mZXc K7w	hd r   