Ë
    ÷Q(h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&                  j)                  dd	d
iedfdd
iedfg«      ej&                  j)                  dedg d¢dœfedg d¢ifg«      d„ «       «       Zd„ Zd„ Zej&                  j)                  dedg d¢dœfedg d¢ifg«      d„ «       Zej&                  j)                  dddg«      ej&                  j)                  dedg d¢dœfedg d¢ifg«      d„ «       «       Zej&                  j)                  d	d«      d„ «       Zej&                  j)                  d	d«      d„ «       Zej&                  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!¬%«      «      jC                  ejD                  «      dœd'fed ej@                  d(d d!¬%«      id'fg«      d)„ «       Z#ej&                  j)                  dedg d¢dœfedg d¢ifg«      d*„ «       Z$ej&                  j)                  dedg d¢dœfedg d¢ifg«      d+„ «       Z%ej&                  j)                  d,g d-¢d"fg d.¢d/fg d0¢d'fg«      d1„ «       Z&ej&                  j)                  d2ei fedg d¢dœfg«      d3„ «       Z'y)4é    N)Ú	load_iris)ÚLearningCurveDisplayÚValidationCurveDisplayÚlearning_curveÚvalidation_curve)ÚDecisionTreeClassifier)Úshuffle)Úassert_allcloseÚassert_array_equalc                  ó,   — t        t        d¬«      ddiŽS )NT)Ú
return_X_yÚrandom_stater   )r	   r   © ó    úe/var/www/skyplay_api_hub/venv/lib/python3.12/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«       y# 1 sw Y   yxY w)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€Iä	�‰�x wÔ	/ñ RØ#ˆ×#Ñ# I¨q°!ÑQ°ÐQÈ&ÒQ÷R÷ Rñ Rús   ©A
Á
Ac                 ó~  — |\  }}t        d¬«      }g d¢}t        j                  ||||¬«      }ddl}|j                  �J ‚t        |j                  t        «      sJ ‚|j                  D ]$  }t        ||j                  j                  «      rŒ$J ‚ t        |j                  t        «      sJ ‚|j                  D ]9  }	t        |	|j                  j                  «      sJ ‚|	j                  «       dk(  rŒ9J ‚ |j                  dk(  sJ ‚|j                  j!                  «       dk(  sJ ‚|j                  j#                  «       dk(  sJ ‚|j                  j%                  «       \  }
}|d	d
gk(  sJ ‚t'        ||||¬«      \  }}}t)        |j*                  |«       t-        |j.                  |«       t-        |j0                  |«       y)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€Iâ!€KÜ"×1Ñ1Ø�1�a [ô€Gó à×ÑÐ$Ð$Ð$ä�g—n‘n¤dÔ+Ð+Ð+Ø—‘ò 2ˆÜ˜$ §	¡	× 0Ñ 0Õ1Ð1Ð1ð2ô �g×+Ñ+¬TÔ2Ð2Ð2Ø×%Ñ%ò 'ˆÜ˜$ §¡× >Ñ >Ô?Ð?Ð?Ø�~‰~Ó 3Ó&Ð&Ð&ð'ð ×Ñ Ò(Ð(Ð(Ø�;‰;×!Ñ!Ó#Ð'NÒNÐNÐNØ�;‰;×!Ñ!Ó# wÒ.Ð.Ð.à—{‘{×<Ñ<Ó>Ñ€A€}Ø˜W fÐ-Ò-Ð-Ð-ä1?Ø�1�a [ô2Ñ.€O�\ ;ô �w×*Ñ*¨OÔ<Ü�G×(Ñ(¨,Ô7Ü�G×'Ñ'¨Õ5r   c                 ó†  — |\  }}t        d¬«      }dg d¢}}t        j                  |||||¬«      }ddl}|j                  �J ‚t        |j                  t        «      sJ ‚|j                  D ]$  }	t        |	|j                  j                  «      rŒ$J ‚ t        |j                  t        «      sJ ‚|j                  D ]9  }
t        |
|j                  j                  «      sJ ‚|
j                  «       dk(  rŒ9J ‚ |j                  dk(  sJ ‚|j                  j!                  «       |› k(  sJ ‚|j                  j#                  «       dk(  sJ ‚|j                  j%                  «       \  }}|d	d
gk(  sJ ‚t'        |||||¬«      \  }}t)        |j*                  |«       t-        |j.                  |«       t-        |j0                  |«       y)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€Ià)ª9�€JÜ$×3Ñ3Ø�1�a J¸Kô€Gó à×ÑÐ$Ð$Ð$ä�g—n‘n¤dÔ+Ð+Ð+Ø—‘ò 2ˆÜ˜$ §	¡	× 0Ñ 0Õ1Ð1Ð1ð2ô �g×+Ñ+¬TÔ2Ð2Ð2Ø×%Ñ%ò 'ˆÜ˜$ §¡× >Ñ >Ô?Ð?Ð?Ø�~‰~Ó 3Ó&Ð&Ð&ð'ð ×Ñ Ò(Ð(Ð(Ø�;‰;×!Ñ!Ó#¨*¨Ò6Ð6Ð6Ø�;‰;×!Ñ!Ó# wÒ.Ð.Ð.à—{‘{×<Ñ<Ó>Ñ€A€}Ø˜W fÐ-Ò-Ð-Ð-ä 0Ø�1�a J¸Kô!Ñ€L�+ô �w×*Ñ*¨KÔ8Ü�G×(Ñ(¨,Ô7Ü�G×'Ñ'¨Õ5r   c                 ó<  — |\  }}t        dd¬«      }d} |j                  |||fi |¤d|i¤Ž}|j                  d   j                  «       d   }	|	dk\  j	                  «       sJ ‚|j
                  j                  «       dk(  sJ ‚d} |j                  |||fi |¤d|i¤Ž}|j                  d   j                  «       d   }
|
dk  j	                  «       sJ ‚t        |
|	 «       |j
                  j                  «       dk(  sJ ‚d} |j                  |||fi |¤d|i¤Ž}|j
                  j                  «       dk(  sJ ‚|j                  | ¬	«       |j
                  j                  «       dk(  sJ ‚|j                  d   j                  «       d   dk  j	                  «       sJ ‚y
)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[   |   sÈ  € ð �D€A€qÜ&°ÀÔC€Ià€LØ)ˆl×)Ñ)Ø�1�añØ*ñØ9Eò€Gð —n‘n QÑ'×0Ñ0Ó2°1Ñ5€OØ˜qÑ ×%Ñ%Ô'Ð'Ð'Ø�;‰;×!Ñ!Ó# wÒ.Ð.Ð.à€LØ)ˆl×)Ñ)Ø�1�añØ*ñØ9Eò€Gð —n‘n QÑ'×0Ñ0Ó2°1Ñ5€OØ˜qÑ ×%Ñ%Ô'Ð'Ð'Ü�O oÐ%5Ô6Ø�;‰;×!Ñ!Ó#Ð'7Ò7Ð7Ð7à€LØ)ˆl×)Ñ)Ø�1�añØ*ñØ9Eò€Gð �;‰;×!Ñ!Ó# wÒ.Ð.Ð.Ø‡L�L ,Ð.€LÔ/Ø�;‰;×!Ñ!Ó# wÒ.Ð.Ð.Ø�N‰N˜1Ñ×&Ñ&Ó(¨Ñ+¨aÑ/×4Ñ4Ô6Ð6Ñ6r   zscore_name, ylabel)Nr4   )ÚAccuracyr\   c                 ó  — |\  }}t        d¬«      } |j                  |||fi |¤d|i¤Ž}	|	j                  j                  «       |k(  sJ ‚|\  }}t        dd¬«      } |j                  |||fi |¤d|i¤Ž}	|	j                  |k(  sJ ‚y)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€Ià)ˆl×)Ñ)Ø�1�añØ*ñØ7Aò€Gð �;‰;×!Ñ!Ó# vÒ-Ð-Ð-Ø�D€A€qÜ&°ÀÔC€Ià)ˆl×)Ñ)Ø�1�añØ*ñØ7Aò€Gð ×Ñ Ò'Ð'Ñ'r   )NÚerrorbarc                 ó|  — |\  }}t        d¬«      }g d¢}t        ||||¬«      \  }}}	d}
t        j                  |||||
|¬«      }|j                  j                  «       \  }}|dgk(  sJ ‚|€It        |j                  «      d	k(  sJ ‚|j                  �J ‚|j                  d   j                  «       \  }}nU|j                  �J ‚t        |j                  «      d	k(  sJ ‚|j                  d   j                  d   j                  «       \  }}t        ||«       t        ||j                  d	¬
«      «       d}
t        j                  |||||
|¬«      }|j                  j                  «       \  }}|dgk(  sJ ‚|€It        |j                  «      d	k(  sJ ‚|j                  �J ‚|j                  d   j                  «       \  }}nU|j                  �J ‚t        |j                  «      d	k(  sJ ‚|j                  d   j                  d   j                  «       \  }}t        ||«       t        ||	j                  d	¬
«      «       d}
t        j                  |||||
|¬«      }|j                  j                  «       \  }}|ddgk(  sJ ‚|€it        |j                  «      dk(  sJ ‚|j                  �J ‚|j                  d   j                  «       \  }}|j                  d	   j                  «       \  }}n‚|j                  �J ‚t        |j                  «      dk(  sJ ‚|j                  d   j                  d   j                  «       \  }}|j                  d	   j                  d   j                  «       \  }}t        ||«       t        ||j                  d	¬
«      «       t        ||«       t        ||	j                  d	¬
«      «       y)ú: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   Ç   sÈ  € ð �D€A€qÜ&°AÔ6€Iâ!€KÜ1?Ø�1�a [ô2Ñ.€O�\ ;ð €JÜ"×1Ñ1ØØ	Ø	ØØØ+ô€Gð —k‘k×;Ñ;Ó=�O€A€|Ø˜G˜9Ò$Ð$Ð$àÐ Ü�7—>‘>Ó" aÒ'Ð'Ð'Ø× Ñ Ð(Ð(Ð(Ø Ÿ™¨Ñ*×3Ñ3Ó5‰ˆ‘à�~‰~Ð%Ð%Ð%Ü�7×$Ñ$Ó%¨Ò*Ð*Ð*Ø ×*Ñ*¨1Ñ-×3Ñ3°AÑ6×?Ñ?ÓA‰ˆ�ä�v˜Ô/Ü�F˜L×-Ñ-°1Ð-Ó5Ô6à€JÜ"×1Ñ1ØØ	Ø	ØØØ+ô€Gð —k‘k×;Ñ;Ó=�O€A€|Ø˜F˜8Ò#Ð#Ð#àÐ Ü�7—>‘>Ó" aÒ'Ð'Ð'Ø× Ñ Ð(Ð(Ð(Ø Ÿ™¨Ñ*×3Ñ3Ó5‰ˆ‘à�~‰~Ð%Ð%Ð%Ü�7×$Ñ$Ó%¨Ò*Ð*Ð*Ø ×*Ñ*¨1Ñ-×3Ñ3°AÑ6×?Ñ?ÓA‰ˆ�ä�v˜Ô/Ü�F˜K×,Ñ,°!Ð,Ó4Ô5à€JÜ"×1Ñ1ØØ	Ø	ØØØ+ô€Gð —k‘k×;Ñ;Ó=�O€A€|Ø˜G VÐ,Ò,Ð,Ð,àÐ Ü�7—>‘>Ó" aÒ'Ð'Ð'Ø× Ñ Ð(Ð(Ð(Ø%,§^¡^°AÑ%6×%?Ñ%?Ó%AÑ"ˆ�lØ#*§>¡>°!Ñ#4×#=Ñ#=Ó#?Ñ ˆ‘[à�~‰~Ð%Ð%Ð%Ü�7×$Ñ$Ó%¨Ò*Ð*Ð*Ø%,×%6Ñ%6°qÑ%9×%?Ñ%?ÀÑ%B×%KÑ%KÓ%MÑ"ˆ�lØ#*×#4Ñ#4°QÑ#7×#=Ñ#=¸aÑ#@×#IÑ#IÓ#KÑ ˆ�[ä�| _Ô5Ü�L ,×"3Ñ"3¸Ð"3Ó";Ô<Ü�{ OÔ4Ü�K ×!1Ñ!1°qÐ!1Ó!9Õ:r   c           	      ó†  — |\  }}t        d¬«      }dg d¢}}t        |||||¬«      \  }}	d}
t        j                  ||||||
|¬«      }|j                  j                  «       \  }}|dgk(  sJ ‚|€It        |j                  «      d
k(  sJ ‚|j                  �J ‚|j                  d   j                  «       \  }}nU|j                  �J ‚t        |j                  «      d
k(  sJ ‚|j                  d   j                  d   j                  «       \  }}t        ||«       t        ||j                  d
¬«      «       d}
t        j                  ||||||
|¬«      }|j                  j                  «       \  }}|dgk(  sJ ‚|€It        |j                  «      d
k(  sJ ‚|j                  �J ‚|j                  d   j                  «       \  }}nU|j                  �J ‚t        |j                  «      d
k(  sJ ‚|j                  d   j                  d   j                  «       \  }}t        ||«       t        ||	j                  d
¬«      «       d}
t        j                  ||||||
|¬«      }|j                  j                  «       \  }}|ddgk(  sJ ‚|€it        |j                  «      dk(  sJ ‚|j                  �J ‚|j                  d   j                  «       \  }}|j                  d
   j                  «       \  }}n‚|j                  �J ‚t        |j                  «      dk(  sJ ‚|j                  d   j                  d   j                  «       \  }}|j                  d
   j                  d   j                  «       \  }}t        ||«       t        ||j                  d
¬«      «       t        ||«       t        ||	j                  d
¬«      «       y	)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   "  sÕ  € ð �D€A€qÜ&°AÔ6€Ià)ª9�€JÜ 0Ø�1�a J¸Kô!Ñ€L�+ð €JÜ$×3Ñ3ØØ	Ø	ØØØØ+ô€Gð —k‘k×;Ñ;Ó=�O€A€|Ø˜G˜9Ò$Ð$Ð$àÐ Ü�7—>‘>Ó" aÒ'Ð'Ð'Ø× Ñ Ð(Ð(Ð(Ø Ÿ™¨Ñ*×3Ñ3Ó5‰ˆ‘à�~‰~Ð%Ð%Ð%Ü�7×$Ñ$Ó%¨Ò*Ð*Ð*Ø ×*Ñ*¨1Ñ-×3Ñ3°AÑ6×?Ñ?ÓA‰ˆ�ä�v˜{Ô+Ü�F˜L×-Ñ-°1Ð-Ó5Ô6à€JÜ$×3Ñ3ØØ	Ø	ØØØØ+ô€Gð —k‘k×;Ñ;Ó=�O€A€|Ø˜F˜8Ò#Ð#Ð#àÐ Ü�7—>‘>Ó" aÒ'Ð'Ð'Ø× Ñ Ð(Ð(Ð(Ø Ÿ™¨Ñ*×3Ñ3Ó5‰ˆ‘à�~‰~Ð%Ð%Ð%Ü�7×$Ñ$Ó%¨Ò*Ð*Ð*Ø ×*Ñ*¨1Ñ-×3Ñ3°AÑ6×?Ñ?ÓA‰ˆ�ä�v˜{Ô+Ü�F˜K×,Ñ,°!Ð,Ó4Ô5à€JÜ$×3Ñ3ØØ	Ø	ØØØØ+ô€Gð —k‘k×;Ñ;Ó=�O€A€|Ø˜G VÐ,Ò,Ð,Ð,àÐ Ü�7—>‘>Ó" aÒ'Ð'Ð'Ø× Ñ Ð(Ð(Ð(Ø%,§^¡^°AÑ%6×%?Ñ%?Ó%AÑ"ˆ�lØ#*§>¡>°!Ñ#4×#=Ñ#=Ó#?Ñ ˆ‘[à�~‰~Ð%Ð%Ð%Ü�7×$Ñ$Ó%¨Ò*Ð*Ð*Ø%,×%6Ñ%6°qÑ%9×%?Ñ%?ÀÑ%B×%KÑ%KÓ%MÑ"ˆ�lØ#*×#4Ñ#4°QÑ#7×#=Ñ#=¸aÑ#@×#IÑ#IÓ#KÑ ˆ�[ä�| [Ô1Ü�L ,×"3Ñ"3¸Ð"3Ó";Ô<Ü�{ KÔ0Ü�K ×!1Ñ!1°qÐ!1Ó!9Õ:r   z.CurveDisplay, specific_params, expected_xscaler   r   Úlineargš™™™™™¹?r    )Únumrh   Úlogéÿÿÿÿc                 óŽ   — |\  }}t        d¬«      } |j                  |||fi |¤Ž}|j                  j                  «       |k(  sJ ‚y)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|   €  sM   € ð0 �D€A€qÜ&°AÔ6€Ià)ˆl×)Ñ)¨)°Q¸ÑM¸_ÑM€GØ�;‰;×!Ñ!Ó# Ò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                  «      rŒ$J ‚ |	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                  «      rŒ$J ‚ |	j                  �J ‚t        |	j                  «      dk(  sJ ‚|	j                  D ]$  }t        ||j                  j                  «      rŒ$J ‚ |	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                  «      rŒ$J ‚ |	j                  �J ‚|	j                  j                  «       \  }}t        |«      dk(  sJ ‚y)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€IãàÐØ)ˆl×)Ñ)ØØ	Ø	ñð ñ	ð
 ,ò€Gô ˆw�~‰~Ó !Ò#Ð#Ð#Ø—‘ò 2ˆÜ˜$ §	¡	× 0Ñ 0Õ1Ð1Ð1ð2à×ÑÐ$Ð$Ð$Ø× Ñ Ð(Ð(Ð(Ø—k‘k×;Ñ;Ó=�O€A€|Üˆ|Ó Ò!Ð!Ð!à&ÐØ)ˆl×)Ñ)ØØ	Ø	ñð ñ	ð
 ,ò€Gô ˆw�~‰~Ó !Ò#Ð#Ð#Ø—‘ò 2ˆÜ˜$ §	¡	× 0Ñ 0Õ1Ð1Ð1ð2à×ÑÐ$Ð$Ð$Üˆw×$Ñ$Ó%¨Ò*Ð*Ð*Ø×-Ñ-ò HˆÜ˜,¨¯©×(FÑ(FÕGÐGÐGðHà—k‘k×;Ñ;Ó=�O€A€|Üˆ|Ó Ò!Ð!Ð!à"ÐØ)ˆl×)Ñ)ØØ	Ø	ñð ñ	ð
 ,ò€Gð �>‰>Ð!Ð!Ð!Üˆw× Ñ Ó! QÒ&Ð&Ð&Ø×%Ñ%ò EˆÜ˜( C§M¡M×$CÑ$CÕDÐDÐDðEà× Ñ Ð(Ð(Ð(Ø—k‘k×;Ñ;Ó=�O€A€|Üˆ|Ó Ò!Ð!Ñ!r   c                 ó¨  — |\  }}t        d¬«      }d}ddi}dddœ}	 |j                  |||fi |¤|||	dœ¤Ž}
|
j                  d   j                  «       dk(  sJ ‚t	        |
j
                  d   j                  «       g d	¢g«       d
}ddi} |j                  |||fi |¤||dœ¤Ž}
|
j                  d   j                  d   j                  «       dk(  sJ ‚y)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�   ã  s   € ð �D€A€qÜ&°AÔ6€Ià&ÐØ˜Ð€GØ %°Ñ4€OØ)ˆl×)Ñ)ØØ	Ø	ñð ð	ð
 ,ØØ'ó€Gð �>‰>˜!Ñ×&Ñ&Ó(¨EÒ1Ð1Ð1ÜØ×Ñ˜aÑ ×.Ñ.Ó0Ú	Ðôð
 #ÐØ˜EÐ"€KØ)ˆl×)Ñ)ØØ	Ø	ñð ð	ð
 ,Øó€Gð ×Ñ˜QÑ×%Ñ% aÑ(×2Ñ2Ó4¸Ò=Ð=Ñ=r   zparam_range, xscale)r   é
   é   )iÎÿÿÿr   é2   éô  Úsymlog)r   r�   r‘   c                 óœ   — |\  }}t        d¬«      }d}t        j                  |||||¬«      }|j                  j	                  «       |k(  sJ ‚y)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•     sX   € ð �D€A€qÜ&°AÔ6€Ià€JÜ$×3Ñ3ØØ	Ø	ØØô€Gð �;‰;×!Ñ!Ó# vÒ-Ð-Ñ-r   zDisplay, paramsc                 ó‚   — |\  }}t        d¬«      } G d„ d|«      } |j                  |||fi |¤Ž}t        ||«      sJ ‚y)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y)ú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ž   (  sR   € ð �D€A€qÜ&°AÔ6€Iô˜Gô ð /Ð×.Ñ.¨y¸!¸QÑIÀ&ÑI€GÜ�gÐ0Ô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°      s¯  ðÛ Û å &÷ó õ 0Ý !ß Fð ‡�ñ@ó ð@ð ‡�×ÑØà
˜yÐ	)¨:Ð7SÐTØ
˜	Ð	" JÐ0EÐFðóð ‡�×ÑØ#à	°ÊIÑ!VÐWØ	 ªÐ?Ð@ðóñRóóðRò$6òN$6ðN ‡�×ÑØ#à	°ÊIÑ!VÐWØ	 ªÐ?Ð@ðóñ!7óð!7ðH ‡�×ÑØ˜?Ð,DÐEóð ‡�×ÑØ#à	°ÊIÑ!VÐWØ	 ªÐ?Ð@ðóñ(óóð(ð, ‡�×ÑÐ,Ð.@ÓAñW;ó BðW;ðt ‡�×ÑÐ,Ð.@ÓAñZ;ó BðZ;ðz ‡�×ÑØ4ð #Ø&°y°r·y±yÀÀA³ÑGØð	
ð
 
 ¨{¨r¯{©{¸3ÀÈÔ/KÐLÈhÐWà"à)Ø'˜rŸx™x¨¨¯©°A°q¸aÔ(@ÓA×HÑHÈÏÉÓRñð ð	
ð 
 ¨{¨r¯{©{¸2¸qÀaÔ/HÐIÈ5ÐQðóñ(7ó)ð(7ð ‡�×ÑØ#à	°ÊIÑ!VÐWØ	 ªÐ?Ð@ðóñ:"óð:"ðz ‡�×ÑØ#à	°ÊIÑ!VÐWØ	 ªÐ?Ð@ðóñ$>óð$>ðN ‡�×ÑØÚ�8ÐÒ0°(Ð;ºlÈEÐ=RÐSóñ.ó	ð.ð& ‡�×ÑØà	˜rÐ"Ø	°ÊIÑ!VÐWðóñ2óñ2r   