§
    rŠtjH  ã                   óÌ  — d dl Zd dlZd dlmZ d dl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 ej        d„ ¦   «         Zej                             dd	d
iedfdd
iedfg¦  «        ej                             dedg d¢dœfedg d¢ifg¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ Zej                             dedg d¢dœfedg d¢ifg¦  «        d„ ¦   «         Zej                             dddg¦  «        ej                             dedg d¢dœfedg d¢ifg¦  «        d„ ¦   «         ¦   «         Zej                             d	d¦  «        d„ ¦   «         Zej                             d	d¦  «        d„ ¦   «         Zej                             ded ej        d d!¦  «        dœd"fed ej        d#d$d!¬%¦  «        id"fed ej         ej         d d&d!¬%¦  «        ¦  «         !                    ej"        ¦  «        dœd'fed ej         d(d d!¬%¦  «        id'fg¦  «        d)„ ¦   «         Z#ej                             dedg d¢dœfedg d¢ifg¦  «        d*„ ¦   «         Z$ej                             dedg d¢dœfedg d¢ifg¦  «        d+„ ¦   «         Z%ej                             d,g d-¢d"fg d.¢d/fg d0¢d'fg¦  «        d1„ ¦   «         Z&ej                             d2ei fedg d¢dœfg¦  «        d3„ ¦   «         Z'dS )4é    N)Ú	load_iris)ÚLearningCurveDisplayÚValidationCurveDisplayÚlearning_curveÚvalidation_curve)ÚDecisionTreeClassifier)Úshuffle)Úassert_allcloseÚassert_array_equalc                  ó6   — t          t          d¬¦  «        ddiŽS )NT)Ú
return_X_yÚrandom_stater   )r	   r   © ó    úe/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/model_selection/tests/test_plot.pyÚdatar      s    € å•I¨Ð.Ñ.Ô.Ð?¸QÐ?Ð?Ð?r   zparams, err_type, err_msgÚstd_display_styleÚinvalidzUnknown std_display_style:Ú
score_typezUnknown score_type:zCurveDisplay, specific_paramsÚ	max_depth©é   é   é   ©Ú
param_nameÚparam_rangeÚtrain_sizes©g333333Ó?g333333ã?çÍÌÌÌÌÌì?c                 ó²   — |\  }}t          d¬¦  «        }	t          j        ||¬¦  «        5   |j        |	||fi |¤|¤Ž ddd¦  «         dS # 1 swxY w Y   dS )zCCheck that we raise a proper error when passing invalid parameters.r   ©r   )ÚmatchN)r   ÚpytestÚraisesÚfrom_estimator)
Úpyplotr   ÚparamsÚerr_typeÚerr_msgÚCurveDisplayÚspecific_paramsÚXÚyÚ	estimators
             r   Ú(test_curve_display_parameters_validationr0      sÎ   € ð$ �D€A€qÝ&°AÐ6Ñ6Ô6€Iå	Œ�x wÐ	/Ñ	/Ô	/ð Rð RØ#ˆÔ# I¨q°!ÐQÐQ°ÐQÈ&ÐQÐQÐQðRð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rð Rð Rs   ¬AÁAÁAc                 óL  — |\  }}t          d¬¦  «        }g d¢}t          j        ||||¬¦  «        }ddl}|j        �J ‚t          |j        t          ¦  «        sJ ‚|j        D ]}t          ||j        j	        ¦  «        sJ ‚Œt          |j
        t          ¦  «        sJ ‚|j
        D ]8}	t          |	|j        j        ¦  «        sJ ‚|	                     ¦   «         dk    sJ ‚Œ9|j        dk    sJ ‚|j                             ¦   «         dk    sJ ‚|j                             ¦   «         dk    sJ ‚|j                             ¦   «         \  }
}|d	d
gk    sJ ‚t'          ||||¬¦  «        \  }}}t)          |j        |¦  «         t-          |j        |¦  «         t-          |j        |¦  «         dS )z:Check the default usage of the LearningCurveDisplay class.r   r"   r   ©r   Nç      à?ÚScorez%Number of samples in the training setÚTrainÚTest)r   r   r&   Ú
matplotlibÚ	errorbar_Ú
isinstanceÚlines_ÚlistÚlinesÚLine2DÚfill_between_ÚcollectionsÚPolyCollectionÚ	get_alphaÚ
score_nameÚax_Ú
get_xlabelÚ
get_ylabelÚget_legend_handles_labelsr   r   r   r
   Útrain_scoresÚtest_scores)r'   r   r-   r.   r/   r   ÚdisplayÚmplÚlineÚfillÚ_Úlegend_labelsÚtrain_sizes_absrG   rH   s                  r   Ú)test_learning_curve_display_default_usagerP   .   sò  € à�D€A€qÝ&°AÐ6Ñ6Ô6€Ià!�/�/€KÝ"Ô1Ø�1�a [ðñ ô €Gð ÐÐÐàÔÐ$Ð$Ð$å�g”n¥dÑ+Ô+Ð+Ð+Ð+Ø”ð 2ð 2ˆÝ˜$ ¤	Ô 0Ñ1Ô1Ð1Ð1Ð1Ð1å�gÔ+­TÑ2Ô2Ð2Ð2Ð2ØÔ%ð 'ð 'ˆÝ˜$ ¤Ô >Ñ?Ô?Ð?Ð?Ð?Ø�~Š~ÑÔ 3Ò&Ð&Ð&Ð&Ð&àÔ Ò(Ð(Ð(Ð(ØŒ;×!Ò!Ñ#Ô#Ð'NÒNÐNÐNÐNØŒ;×!Ò!Ñ#Ô# wÒ.Ð.Ð.Ð.à”{×<Ò<Ñ>Ô>Ñ€A€}Ø˜W fÐ-Ò-Ð-Ð-Ð-å1?Ø�1�a [ð2ñ 2ô 2Ñ.€O�\ ;õ �wÔ*¨OÑ<Ô<Ð<Ý�GÔ(¨,Ñ7Ô7Ð7Ý�GÔ'¨Ñ5Ô5Ð5Ð5Ð5r   c                 óT  — |\  }}t          d¬¦  «        }dg d¢}}t          j        |||||¬¦  «        }ddl}|j        �J ‚t          |j        t          ¦  «        sJ ‚|j        D ]}	t          |	|j        j	        ¦  «        sJ ‚Œt          |j
        t          ¦  «        sJ ‚|j
        D ]8}
t          |
|j        j        ¦  «        sJ ‚|
                     ¦   «         dk    sJ ‚Œ9|j        dk    sJ ‚|j                             ¦   «         |› k    sJ ‚|j                             ¦   «         dk    sJ ‚|j                             ¦   «         \  }}|d	d
gk    sJ ‚t'          |||||¬¦  «        \  }}t)          |j        |¦  «         t-          |j        |¦  «         t-          |j        |¦  «         dS )z<Check the default usage of the ValidationCurveDisplay class.r   r"   r   r   r   Nr3   r4   r5   r6   )r   r   r&   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   r   r   r   r
   rG   rH   )r'   r   r-   r.   r/   r   r   rI   rJ   rK   rL   rM   rN   rG   rH   s                  r   Ú+test_validation_curve_display_default_usagerR   U   sù  € à�D€A€qÝ&°AÐ6Ñ6Ô6€Ià)¨9¨9¨9�€JÝ$Ô3Ø�1�a J¸Kðñ ô €Gð ÐÐÐàÔÐ$Ð$Ð$å�g”n¥dÑ+Ô+Ð+Ð+Ð+Ø”ð 2ð 2ˆÝ˜$ ¤	Ô 0Ñ1Ô1Ð1Ð1Ð1Ð1å�gÔ+­TÑ2Ô2Ð2Ð2Ð2ØÔ%ð 'ð 'ˆÝ˜$ ¤Ô >Ñ?Ô?Ð?Ð?Ð?Ø�~Š~ÑÔ 3Ò&Ð&Ð&Ð&Ð&àÔ Ò(Ð(Ð(Ð(ØŒ;×!Ò!Ñ#Ô#¨* Ò6Ð6Ð6Ð6ØŒ;×!Ò!Ñ#Ô# wÒ.Ð.Ð.Ð.à”{×<Ò<Ñ>Ô>Ñ€A€}Ø˜W fÐ-Ò-Ð-Ð-Ð-å 0Ø�1�a J¸Kð!ñ !ô !Ñ€L�+õ �wÔ*¨KÑ8Ô8Ð8Ý�GÔ(¨,Ñ7Ô7Ð7Ý�GÔ'¨Ñ5Ô5Ð5Ð5Ð5r   c                 ót  — |\  }}t          dd¬¦  «        }d} |j        |||fi |¤d|i¤Ž}|j        d                              ¦   «         d         }	|	dk                         ¦   «         sJ ‚|j                             ¦   «         dk    sJ ‚d} |j        |||fi |¤d|i¤Ž}|j        d                              ¦   «         d         }
|
dk                         ¦   «         sJ ‚t          |
|	 ¦  «         |j                             ¦   «         dk    sJ ‚d} |j        |||fi |¤d|i¤Ž}|j                             ¦   «         dk    sJ ‚|                     | ¬	¦  «         |j                             ¦   «         dk    sJ ‚|j        d                              ¦   «         d         dk                          ¦   «         sJ ‚d
S )zaCheck the behaviour of the `negate_score` parameter calling `from_estimator` and
    `plot`.
    r   r   ©r   r   FÚnegate_scorer4   TzNegative score)rU   N)	r   r&   r:   Úget_dataÚallrC   rE   r
   Úplot)r'   r   r+   r,   r-   r.   r/   rU   rI   Úpositive_scoresÚnegative_scoress              r   Útest_curve_display_negate_scorer[   |   s8  € ð �D€A€qÝ&°ÀÐCÑCÔC€Ià€LØ)ˆlÔ)Ø�1�aðð Ø*ðð Ø9Eðð ð €Gð ”n QÔ'×0Ò0Ñ2Ô2°1Ô5€OØ˜qÒ ×%Ò%Ñ'Ô'Ð'Ð'Ð'ØŒ;×!Ò!Ñ#Ô# wÒ.Ð.Ð.Ð.à€LØ)ˆlÔ)Ø�1�aðð Ø*ðð Ø9Eðð ð €Gð ”n QÔ'×0Ò0Ñ2Ô2°1Ô5€OØ˜qÒ ×%Ò%Ñ'Ô'Ð'Ð'Ð'Ý�O oÐ%5Ñ6Ô6Ð6ØŒ;×!Ò!Ñ#Ô#Ð'7Ò7Ð7Ð7Ð7à€LØ)ˆlÔ)Ø�1�aðð Ø*ðð Ø9Eðð ð €Gð Œ;×!Ò!Ñ#Ô# wÒ.Ð.Ð.Ð.Ø‡L‚L ,Ð.€LÑ/Ô/Ð/ØŒ;×!Ò!Ñ#Ô# wÒ.Ð.Ð.Ð.ØŒN˜1Ô×&Ò&Ñ(Ô(¨Ô+¨aÒ/×4Ò4Ñ6Ô6Ð6Ð6Ð6Ð6Ð6r   zscore_name, ylabel)Nr4   )ÚAccuracyr\   c                 ó  — |\  }}t          d¬¦  «        } |j        |||fi |¤d|i¤Ž}	|	j                             ¦   «         |k    sJ ‚|\  }}t          dd¬¦  «        } |j        |||fi |¤d|i¤Ž}	|	j        |k    sJ ‚dS )zGCheck that we can overwrite the default score name shown on the y-axis.r   r"   rB   r   rT   N)r   r&   rC   rE   rB   )
r'   r   rB   Úylabelr+   r,   r-   r.   r/   rI   s
             r   Útest_curve_display_score_namer_   §   sé   € ð �D€A€qÝ&°AÐ6Ñ6Ô6€Ià)ˆlÔ)Ø�1�aðð Ø*ðð Ø7Aðð ð €Gð Œ;×!Ò!Ñ#Ô# vÒ-Ð-Ð-Ð-Ø�D€A€qÝ&°ÀÐCÑCÔC€Ià)ˆlÔ)Ø�1�aðð Ø*ðð Ø7Aðð ð €Gð Ô Ò'Ð'Ð'Ð'Ð'Ð'r   )NÚerrorbarc                 ó¼  — |\  }}t          d¬¦  «        }g d¢}t          ||||¬¦  «        \  }}}	d}
t          j        |||||
|¬¦  «        }|j                             ¦   «         \  }}|dgk    sJ ‚|€Ft          |j        ¦  «        d	k    sJ ‚|j        �J ‚|j        d          	                    ¦   «         \  }}nP|j        �J ‚t          |j        ¦  «        d	k    sJ ‚|j        d         j
        d          	                    ¦   «         \  }}t          ||¦  «         t          ||                     d	¬
¦  «        ¦  «         d}
t          j        |||||
|¬¦  «        }|j                             ¦   «         \  }}|dgk    sJ ‚|€Ft          |j        ¦  «        d	k    sJ ‚|j        �J ‚|j        d          	                    ¦   «         \  }}nP|j        �J ‚t          |j        ¦  «        d	k    sJ ‚|j        d         j
        d          	                    ¦   «         \  }}t          ||¦  «         t          ||	                     d	¬
¦  «        ¦  «         d}
t          j        |||||
|¬¦  «        }|j                             ¦   «         \  }}|ddgk    sJ ‚|€ht          |j        ¦  «        dk    sJ ‚|j        �J ‚|j        d          	                    ¦   «         \  }}|j        d	          	                    ¦   «         \  }}n}|j        �J ‚t          |j        ¦  «        dk    sJ ‚|j        d         j
        d          	                    ¦   «         \  }}|j        d	         j
        d          	                    ¦   «         \  }}t          ||¦  «         t          ||                     d	¬
¦  «        ¦  «         t          ||¦  «         t          ||	                     d	¬
¦  «        ¦  «         dS )ú:Check the behaviour of setting the `score_type` parameter.r   r"   r   r2   Útrain)r   r   r   r5   Nr   ©ÚaxisÚtestr6   Úbothé   )r   r   r   r&   rC   rF   Úlenr:   r8   rV   r<   r   r
   Úmean)r'   r   r   r-   r.   r/   r   rO   rG   rH   r   rI   rM   Úlegend_labelÚx_dataÚy_dataÚx_data_trainÚy_data_trainÚx_data_testÚy_data_tests                       r   Ú&test_learning_curve_display_score_typerr   Ç   sC  € ð �D€A€qÝ&°AÐ6Ñ6Ô6€Ià!�/�/€KÝ1?Ø�1�a [ð2ñ 2ô 2Ñ.€O�\ ;ð €JÝ"Ô1ØØ	Ø	ØØØ+ðñ ô €Gð ”k×;Ò;Ñ=Ô=�O€A€|Ø˜G˜9Ò$Ð$Ð$Ð$àÐ Ý�7”>Ñ"Ô" aÒ'Ð'Ð'Ð'ØÔ Ð(Ð(Ð(Ø œ¨Ô*×3Ò3Ñ5Ô5‰ˆ��àŒ~Ð%Ð%Ð%Ý�7Ô$Ñ%Ô%¨Ò*Ð*Ð*Ð*Ø Ô*¨1Ô-Ô3°AÔ6×?Ò?ÑAÔA‰ˆ�å�v˜Ñ/Ô/Ð/Ý�F˜L×-Ò-°1Ð-Ñ5Ô5Ñ6Ô6Ð6à€JÝ"Ô1ØØ	Ø	ØØØ+ðñ ô €Gð ”k×;Ò;Ñ=Ô=�O€A€|Ø˜F˜8Ò#Ð#Ð#Ð#àÐ Ý�7”>Ñ"Ô" aÒ'Ð'Ð'Ð'ØÔ Ð(Ð(Ð(Ø œ¨Ô*×3Ò3Ñ5Ô5‰ˆ��àŒ~Ð%Ð%Ð%Ý�7Ô$Ñ%Ô%¨Ò*Ð*Ð*Ð*Ø Ô*¨1Ô-Ô3°AÔ6×?Ò?ÑAÔA‰ˆ�å�v˜Ñ/Ô/Ð/Ý�F˜K×,Ò,°!Ð,Ñ4Ô4Ñ5Ô5Ð5à€JÝ"Ô1ØØ	Ø	ØØØ+ðñ ô €Gð ”k×;Ò;Ñ=Ô=�O€A€|Ø˜G VÐ,Ò,Ð,Ð,Ð,àÐ Ý�7”>Ñ"Ô" aÒ'Ð'Ð'Ð'ØÔ Ð(Ð(Ð(Ø%,¤^°AÔ%6×%?Ò%?Ñ%AÔ%AÑ"ˆ�lØ#*¤>°!Ô#4×#=Ò#=Ñ#?Ô#?Ñ ˆ�[�[àŒ~Ð%Ð%Ð%Ý�7Ô$Ñ%Ô%¨Ò*Ð*Ð*Ð*Ø%,Ô%6°qÔ%9Ô%?ÀÔ%B×%KÒ%KÑ%MÔ%MÑ"ˆ�lØ#*Ô#4°QÔ#7Ô#=¸aÔ#@×#IÒ#IÑ#KÔ#KÑ ˆ�[å�| _Ñ5Ô5Ð5Ý�L ,×"3Ò"3¸Ð"3Ñ";Ô";Ñ<Ô<Ð<Ý�{ OÑ4Ô4Ð4Ý�K ×!1Ò!1°qÐ!1Ñ!9Ô!9Ñ:Ô:Ð:Ð:Ð:r   c           	      óÆ  — |\  }}t          d¬¦  «        }dg d¢}}t          |||||¬¦  «        \  }}	d}
t          j        ||||||
|¬¦  «        }|j                             ¦   «         \  }}|dgk    sJ ‚|€Ft          |j        ¦  «        d
k    sJ ‚|j        �J ‚|j        d          	                    ¦   «         \  }}nP|j        �J ‚t          |j        ¦  «        d
k    sJ ‚|j        d         j
        d          	                    ¦   «         \  }}t          ||¦  «         t          ||                     d
¬¦  «        ¦  «         d}
t          j        ||||||
|¬¦  «        }|j                             ¦   «         \  }}|dgk    sJ ‚|€Ft          |j        ¦  «        d
k    sJ ‚|j        �J ‚|j        d          	                    ¦   «         \  }}nP|j        �J ‚t          |j        ¦  «        d
k    sJ ‚|j        d         j
        d          	                    ¦   «         \  }}t          ||¦  «         t          ||	                     d
¬¦  «        ¦  «         d}
t          j        ||||||
|¬¦  «        }|j                             ¦   «         \  }}|ddgk    sJ ‚|€ht          |j        ¦  «        dk    sJ ‚|j        �J ‚|j        d          	                    ¦   «         \  }}|j        d
          	                    ¦   «         \  }}n}|j        �J ‚t          |j        ¦  «        dk    sJ ‚|j        d         j
        d          	                    ¦   «         \  }}|j        d
         j
        d          	                    ¦   «         \  }}t          ||¦  «         t          ||                     d
¬¦  «        ¦  «         t          ||¦  «         t          ||	                     d
¬¦  «        ¦  «         d	S )rb   r   r"   r   r   r   rc   )r   r   r   r   r5   Nr   rd   rf   r6   rg   rh   )r   r   r   r&   rC   rF   ri   r:   r8   rV   r<   r   r
   rj   )r'   r   r   r-   r.   r/   r   r   rG   rH   r   rI   rM   rk   rl   rm   rn   ro   rp   rq   s                       r   Ú(test_validation_curve_display_score_typert   "  sP  € ð �D€A€qÝ&°AÐ6Ñ6Ô6€Ià)¨9¨9¨9�€JÝ 0Ø�1�a J¸Kð!ñ !ô !Ñ€L�+ð €JÝ$Ô3ØØ	Ø	ØØØØ+ðñ ô €Gð ”k×;Ò;Ñ=Ô=�O€A€|Ø˜G˜9Ò$Ð$Ð$Ð$àÐ Ý�7”>Ñ"Ô" aÒ'Ð'Ð'Ð'ØÔ Ð(Ð(Ð(Ø œ¨Ô*×3Ò3Ñ5Ô5‰ˆ��àŒ~Ð%Ð%Ð%Ý�7Ô$Ñ%Ô%¨Ò*Ð*Ð*Ð*Ø Ô*¨1Ô-Ô3°AÔ6×?Ò?ÑAÔA‰ˆ�å�v˜{Ñ+Ô+Ð+Ý�F˜L×-Ò-°1Ð-Ñ5Ô5Ñ6Ô6Ð6à€JÝ$Ô3ØØ	Ø	ØØØØ+ðñ ô €Gð ”k×;Ò;Ñ=Ô=�O€A€|Ø˜F˜8Ò#Ð#Ð#Ð#àÐ Ý�7”>Ñ"Ô" aÒ'Ð'Ð'Ð'ØÔ Ð(Ð(Ð(Ø œ¨Ô*×3Ò3Ñ5Ô5‰ˆ��àŒ~Ð%Ð%Ð%Ý�7Ô$Ñ%Ô%¨Ò*Ð*Ð*Ð*Ø Ô*¨1Ô-Ô3°AÔ6×?Ò?ÑAÔA‰ˆ�å�v˜{Ñ+Ô+Ð+Ý�F˜K×,Ò,°!Ð,Ñ4Ô4Ñ5Ô5Ð5à€JÝ$Ô3ØØ	Ø	ØØØØ+ðñ ô €Gð ”k×;Ò;Ñ=Ô=�O€A€|Ø˜G VÐ,Ò,Ð,Ð,Ð,àÐ Ý�7”>Ñ"Ô" aÒ'Ð'Ð'Ð'ØÔ Ð(Ð(Ð(Ø%,¤^°AÔ%6×%?Ò%?Ñ%AÔ%AÑ"ˆ�lØ#*¤>°!Ô#4×#=Ò#=Ñ#?Ô#?Ñ ˆ�[�[àŒ~Ð%Ð%Ð%Ý�7Ô$Ñ%Ô%¨Ò*Ð*Ð*Ð*Ø%,Ô%6°qÔ%9Ô%?ÀÔ%B×%KÒ%KÑ%MÔ%MÑ"ˆ�lØ#*Ô#4°QÔ#7Ô#=¸aÔ#@×#IÒ#IÑ#KÔ#KÑ ˆ�[å�| [Ñ1Ô1Ð1Ý�L ,×"3Ò"3¸Ð"3Ñ";Ô";Ñ<Ô<Ð<Ý�{ KÑ0Ô0Ð0Ý�K ×!1Ò!1°qÐ!1Ñ!9Ô!9Ñ:Ô:Ð:Ð:Ð:r   z.CurveDisplay, specific_params, expected_xscaler   r   Úlineargš™™™™™¹?r    )Únumrh   Úlogéÿÿÿÿc                 óŽ   — |\  }}t          d¬¦  «        } |j        |||fi |¤Ž}|j                             ¦   «         |k    sJ ‚dS )zICheck the behaviour of the x-axis scaling depending on the data provided.r   r"   N)r   r&   rC   Ú
get_xscale)	r'   r   r+   r,   Úexpected_xscaler-   r.   r/   rI   s	            r   Útest_curve_display_xscale_autor|   €  s`   € ð0 �D€A€qÝ&°AÐ6Ñ6Ô6€Ià)ˆlÔ)¨)°Q¸ÐMÐM¸_ÐMÐM€GØŒ;×!Ò!Ñ#Ô# Ò6Ð6Ð6Ð6Ð6Ð6r   c                 ó<  — |\  }}t          d¬¦  «        }ddl}d} |j        |||fi |¤d|i¤Ž}	t          |	j        ¦  «        dk    sJ ‚|	j        D ]}
t          |
|j        j        ¦  «        sJ ‚Œ|	j        �J ‚|	j	        �J ‚|	j
                             ¦   «         \  }}t          |¦  «        dk    sJ ‚d} |j        |||fi |¤d|i¤Ž}	t          |	j        ¦  «        dk    sJ ‚|	j        D ]}
t          |
|j        j        ¦  «        sJ ‚Œ|	j        �J ‚t          |	j	        ¦  «        dk    sJ ‚|	j	        D ]}t          ||j        j        ¦  «        sJ ‚Œ|	j
                             ¦   «         \  }}t          |¦  «        dk    sJ ‚d} |j        |||fi |¤d|i¤Ž}	|	j        �J ‚t          |	j        ¦  «        dk    sJ ‚|	j        D ]}t          ||j        j        ¦  «        sJ ‚Œ|	j	        �J ‚|	j
                             ¦   «         \  }}t          |¦  «        dk    sJ ‚dS )z9Check the behaviour of the parameter `std_display_style`.r   r"   Nr   rh   Úfill_betweenr`   )r   r7   r&   ri   r:   r9   r<   r=   r8   r>   rC   rF   r?   r@   Ú	containerÚErrorbarContainer)r'   r   r+   r,   r-   r.   r/   rJ   r   rI   rK   rM   rk   r~   r`   s                  r   Ú$test_curve_display_std_display_styler�   Ÿ  s  € ð �D€A€qÝ&°AÐ6Ñ6Ô6€IàÐÐÐàÐØ)ˆlÔ)ØØ	Ø	ðð ð ð	ð ð
 ,ðð ð €Gõ ˆwŒ~ÑÔ !Ò#Ð#Ð#Ð#Ø”ð 2ð 2ˆÝ˜$ ¤	Ô 0Ñ1Ô1Ð1Ð1Ð1Ð1ØÔÐ$Ð$Ð$ØÔ Ð(Ð(Ð(Ø”k×;Ò;Ñ=Ô=�O€A€|Ýˆ|ÑÔ Ò!Ð!Ð!Ð!à&ÐØ)ˆlÔ)ØØ	Ø	ðð ð ð	ð ð
 ,ðð ð €Gõ ˆwŒ~ÑÔ !Ò#Ð#Ð#Ð#Ø”ð 2ð 2ˆÝ˜$ ¤	Ô 0Ñ1Ô1Ð1Ð1Ð1Ð1ØÔÐ$Ð$Ð$ÝˆwÔ$Ñ%Ô%¨Ò*Ð*Ð*Ð*ØÔ-ð Hð HˆÝ˜,¨¬Ô(FÑGÔGÐGÐGÐGÐGØ”k×;Ò;Ñ=Ô=�O€A€|Ýˆ|ÑÔ Ò!Ð!Ð!Ð!à"ÐØ)ˆlÔ)ØØ	Ø	ðð ð ð	ð ð
 ,ðð ð €Gð Œ>Ð!Ð!Ð!ÝˆwÔ Ñ!Ô! QÒ&Ð&Ð&Ð&ØÔ%ð Eð EˆÝ˜( C¤MÔ$CÑDÔDÐDÐDÐDÐDØÔ Ð(Ð(Ð(Ø”k×;Ò;Ñ=Ô=�O€A€|Ýˆ|ÑÔ Ò!Ð!Ð!Ð!Ð!Ð!r   c                 ó²  — |\  }}t          d¬¦  «        }d}ddi}dddœ}	 |j        |||fi |¤|||	dœ¤Ž}
|
j        d                              ¦   «         dk    sJ ‚t	          |
j        d                              ¦   «         g d	¢g¦  «         d
}ddi} |j        |||fi |¤||dœ¤Ž}
|
j        d         j        d                              ¦   «         dk    sJ ‚dS )zuCheck the behaviour of the different plotting keyword arguments: `line_kw`,
    `fill_between_kw`, and `errorbar_kw`.r   r"   r~   ÚcolorÚredç      ð?)rƒ   Úalpha)r   Úline_kwÚfill_between_kw)r…   ç        r‰   r…   r`   )r   Úerrorbar_kwN)	r   r&   r:   Ú	get_colorr
   r>   Úget_facecolorr8   r<   )r'   r   r+   r,   r-   r.   r/   r   r‡   rˆ   rI   rŠ   s               r   Útest_curve_display_plot_kwargsr�   ã  se  € ð �D€A€qÝ&°AÐ6Ñ6Ô6€Ià&ÐØ˜Ð€GØ %°Ð4Ð4€OØ)ˆlÔ)ØØ	Ø	ðð ð ð	ð
 ,ØØ'ðð ð ð €Gð Œ>˜!Ô×&Ò&Ñ(Ô(¨EÒ1Ð1Ð1Ð1ÝØÔ˜aÔ ×.Ò.Ñ0Ô0Ø	Ð	Ð	Ðñô ð ð
 #ÐØ˜EÐ"€KØ)ˆlÔ)ØØ	Ø	ðð ð ð	ð
 ,Øðð ð ð €Gð Ô˜QÔÔ% aÔ(×2Ò2Ñ4Ô4¸Ò=Ð=Ð=Ð=Ð=Ð=r   zparam_range, xscale)r   é
   é   )iÎÿÿÿr   é2   éô  Úsymlog)r   r�   r‘   c                 ó¤   — |\  }}t          d¬¦  «        }d}t          j        |||||¬¦  «        }|j                             ¦   «         |k    sJ ‚dS )z>Check the induced xscale from the provided param_range values.r   r"   r   r   N)r   r   r&   rC   rz   )	r'   r   r   Úxscaler-   r.   r/   r   rI   s	            r   Ú@test_validation_curve_xscale_from_param_range_provided_as_a_listr•     so   € ð �D€A€qÝ&°AÐ6Ñ6Ô6€Ià€JÝ$Ô3ØØ	Ø	ØØðñ ô €Gð Œ;×!Ò!Ñ#Ô# vÒ-Ð-Ð-Ð-Ð-Ð-r   zDisplay, paramsc                 ó�   — |\  }}t          d¬¦  «        } G d„ d|¦  «        } |j        |||fi |¤Ž}t          ||¦  «        sJ ‚dS )z¥Check that named constructors return the correct type when subclassed.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/pull/27675
    r   r"   c                   ó   — e Zd ZdS )ú4test_subclassing_displays.<locals>.SubclassOfDisplayN)Ú__name__Ú
__module__Ú__qualname__r   r   r   ÚSubclassOfDisplayr˜   8  s   € € € € € Øˆr   rœ   N)r   r&   r9   )	r'   r   ÚDisplayr(   r-   r.   r/   rœ   rI   s	            r   Útest_subclassing_displaysrž   (  s…   € ð �D€A€qÝ&°AÐ6Ñ6Ô6€Iðð ð ð ð ˜Gñ ô ð ð /ÐÔ.¨y¸!¸QÐIÐIÀ&ÐIÐI€GÝ�gÐ0Ñ1Ô1Ð1Ð1Ð1Ð1Ð1r   )(ÚnumpyÚnpr$   Úsklearn.datasetsr   Úsklearn.model_selectionr   r   r   r   Úsklearn.treer   Úsklearn.utilsr	   Úsklearn.utils._testingr
   r   Úfixturer   ÚmarkÚparametrizeÚ
ValueErrorr0   rP   rR   r[   r_   rr   rt   ÚarangeÚlinspaceÚroundÚlogspaceÚastypeÚint64r|   r�   r�   r•   rž   r   r   r   ú<module>r°      sE  ðØ Ð Ð Ð Ø €€€à &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ð 0Ð /Ð /Ð /Ð /Ð /Ø !Ð !Ð !Ð !Ð !Ð !Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fð „ð@ð @ñ „ð@ð „×ÒØà
˜yÐ	)¨:Ð7SÐTØ
˜	Ð	" JÐ0EÐFðñô ð „×ÒØ#à	°ÈIÈIÈIÐ!VÐ!VÐWØ	 ¨¨¨Ð?Ð@ðñô ðRð Rñô ñô ðRð$6ð $6ð $6ðN$6ð $6ð $6ðN „×ÒØ#à	°ÈIÈIÈIÐ!VÐ!VÐWØ	 ¨¨¨Ð?Ð@ðñô ð!7ð !7ñô ð!7ðH „×ÒØ˜?Ð,DÐEñô ð „×ÒØ#à	°ÈIÈIÈIÐ!VÐ!VÐWØ	 ¨¨¨Ð?Ð@ðñô ð(ð (ñô ñô ð(ð, „×ÒÐ,Ð.@ÑAÔAðW;ð W;ñ BÔAðW;ðt „×ÒÐ,Ð.@ÑAÔAðZ;ð Z;ñ BÔAðZ;ðz „×ÒØ4ð #Ø&°y°r´yÀÀA±´ÐGÐGØð	
ð
 
 ¨{¨r¬{¸3ÀÈÐ/KÑ/KÔ/KÐLÈhÐWà"à)Ø'˜rœx¨¨¬°A°q¸aÐ(@Ñ(@Ô(@ÑAÔA×HÒHÈÌÑRÔRðð ð ð	
ð 
 ¨{¨r¬{¸2¸qÀaÐ/HÑ/HÔ/HÐIÈ5ÐQðñô ð(7ð 7ñ)ô ð(7ð „×ÒØ#à	°ÈIÈIÈIÐ!VÐ!VÐWØ	 ¨¨¨Ð?Ð@ðñô ð:"ð :"ñô ð:"ðz „×ÒØ#à	°ÈIÈIÈIÐ!VÐ!VÐWØ	 ¨¨¨Ð?Ð@ðñô ð$>ð $>ñô ð$>ðN „×ÒØØ€k€k�8ÐÐ0Ð0Ð0°(Ð;¸l¸l¸lÈEÐ=RÐSñô ð.ð .ñ	ô ð.ð& „×ÒØà	˜rÐ"Ø	°ÈIÈIÈIÐ!VÐ!VÐWðñô ð2ð 2ñô ð2ð 2ð 2r   