§
    rŠtjÁ)  ã            	       óô  — d dl Zd dlZd dlmZ d dlmZ d dl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 ej        d
„ ¦   «         Zej                              eej        ¦  «         ed¦  «        k    d¬¦  «        ej                             dddg¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             dg d¢g d¢g d¢g d¢g d¢g¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d „ ¦   «         Z d!„ Z!ej                             d"g d#¢¦  «        d$„ ¦   «         Z"ej                             d"g d#¢¦  «        d%„ ¦   «         Z#ej                              eej        ¦  «         ed¦  «        k    d¬¦  «        ej         $                    d&¦  «        d'„ ¦   «         ¦   «         Z%ej                             d(eez   ez   ¦  «        ej                             dg d)¢¦  «        ej                             dddg¦  «        d*„ ¦   «         ¦   «         ¦   «         Z&d+„ Z'dS ),é    N)Úapprox)Úminimize©Úmake_regression)ÚConvergenceWarning)ÚHuberRegressorÚQuantileRegressor)Úmean_pinball_loss)Úassert_allclose)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚparse_versionÚ
sp_versionc                  ó6   — t          dddd¬¦  «        \  } }| |fS )Né
   é   r   ©Ú	n_samplesÚ
n_featuresÚrandom_stateÚnoiser   )ÚXÚys     úf/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/linear_model/tests/test_quantile.pyÚX_y_datar      s%   € å R°AÀAÈQÐOÑOÔO�D€A€qØˆaˆ4€Kó    z1.11z4interior-point solver is not available in SciPy 1.11)ÚreasonÚsolverúinterior-pointzrevised simplexÚcsc_containerc                 óâ   — | \  }} ||¦  «        }d|› d�}t          j        t          |¬¦  «        5  t          |¬¦  «                             ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzSolver z; does not support sparse X. Use solver 'highs' for example.©Úmatch©r   )ÚpytestÚraisesÚ
ValueErrorr	   Úfit)r   r   r!   r   r   ÚX_sparseÚerr_msgs          r   Ú)test_incompatible_solver_for_sparse_inputr,      sË   € ð �D€A€qØˆ}˜QÑÔ€HàU�&ÐUÐUÐUð õ 
Œ•z¨Ð	1Ñ	1Ô	1ð :ð :Ý Ð(Ñ(Ô(×,Ò,¨X°qÑ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s   ²%A$Á$A(Á+A(z quantile, alpha, intercept, coef)ç      à?r   r   N)gR¸…ëQà?r   r   r   )g\�Âõ(\ß?r   r   r   )r-   ç{®Gáz„?r   r   )r-   éd   é   r   c                 ó,  — dgdgdgg}g d¢}t          | |¬¦  «                             ||¦  «        }t          |j        |d¬¦  «         |�t          |j        d         |d¬¦  «         |dk     r|j        d         dk    sJ ‚|j        d         dk    sJ ‚d S )	Nr   r   )r   r0   é   ©ÚquantileÚalphar.   ©Úatolr/   r   )r	   r)   r   Ú
intercept_Úcoef_)r4   r5   Ú	interceptÚcoefr   r   Úmodels          r   Útest_quantile_toy_exampler=   -   s¶   € ð" ˆˆqˆc�A�3ˆ€AØˆ
ˆ
€AÝ x°uÐ=Ñ=Ô=×AÒAÀ!ÀQÑGÔG€EÝ�EÔ$ i°dÐ;Ñ;Ô;Ð;ØÐÝ˜œ Aœ¨°4Ð8Ñ8Ô8Ð8Øˆs‚{€{ØŒ{˜1Œ~ Ò"Ð"Ð"Ð"ØŒ;�qŒ>˜RÒÐÐÐÐÐr   Úfit_interceptTFc                 óÎ  — t          dddd¬¦  «        \  }}d}t          d|| ¬¦  «                             ||¦  «        }t          || ¬	¦  «                             ||¦  «        }t	          |j        |j        d
¬¦  «         | ra|j        t          |j        d
¬¦  «        k    sJ ‚t          j	        || 
                    |¦  «        k     ¦  «        t          dd
¬¦  «        k    sJ ‚d S d S )Nr/   é   r   ç      ð?r   g-Cëâ6?gq¬‹Ûh ð?)Úepsilonr5   r>   )r5   r>   çš™™™™™¹?r6   ©Úabsr-   )r   r   r)   r	   r   r9   r8   r   ÚnpÚmeanÚpredict)r>   r   r   r5   ÚhuberÚquants         r   Ú*test_quantile_equals_huber_for_low_epsilonrK   I   s  € å S°RÀaÈsÐSÑSÔS�D€A€qØ€EÝØ °]ðñ ô ç	‚cˆ!ˆQ�i„ið 
õ  E¸ÐGÑGÔG×KÒKÈAÈqÑQÔQ€EÝ�E”K ¤°4Ð8Ñ8Ô8Ð8Øð FØÔ¥6¨%Ô*:ÀÐ#EÑ#EÔ#EÒEÐEÐEÐEåŒw�q˜5Ÿ=š=¨Ñ+Ô+Ò+Ñ,Ô,µ°sÀÐ0EÑ0EÔ0EÒEÐEÐEÐEðFð Fð FÐEr   Úq)r-   gÍÌÌÌÌÌì?gš™™™™™©?c                 óü   — t          dddd¬¦  «        \  }}t          | d¬¦  «                             ||¦  «        }t          j        ||                     |¦  «        k     ¦  «        t          | d¬¦  «        k    sJ ‚d S )	Néè  r@   r   rA   r   r3   r.   rD   )r   r	   r)   rF   rG   rH   r   )rL   r   r   rJ   s       r   Ú#test_quantile_estimates_calibrationrO   X   s€   € õ  T°bÀqÐPSÐTÑTÔT�D€A€qÝ q°Ð2Ñ2Ô2×6Ò6°q¸!Ñ<Ô<€EÝŒ7�1�u—}’} QÑ'Ô'Ò'Ñ(Ô(­F°1¸$Ð,?Ñ,?Ô,?Ò?Ð?Ð?Ð?Ð?Ð?r   c                  óÔ  — d} t          | ddd¬¦  «        \  }}t          j        | ¦  «        }d|||                     ¦   «         k    <   t	          dd¬	¦  «        }|                     |||¬
¦  «         t          j        ||                     |¦  «        k     ¦  «        }|dk    sJ ‚t          j        ||                     |¦  «        k     |¬¦  «        }|t          dd¬¦  «        k    sJ ‚d S )NrN   é   r   g      $@r   r/   r-   g:Œ0âŽyE>r3   )Úsample_weight)Úweightsç¸…ëQ¸ž?rD   )	r   rF   ÚonesrG   r	   r)   rH   Úaverager   )Únr   r   ÚweightrJ   Úfraction_belowÚweighted_fraction_belows          r   Útest_quantile_sample_weightr[   `   së   € à€AÝ Q°1À1ÈDÐQÑQÔQ�D€A€qÝŒW�Q‰ZŒZ€Fð €Fˆ1ˆq�vŠv‰xŒxŠ<ÑÝ s°$Ð7Ñ7Ô7€EØ	‡I‚Iˆa� &€IÑ)Ô)Ð)Ý”W˜Q §¢¨qÑ!1Ô!1Ò1Ñ2Ô2€NØ˜CÒÐÐÐÝ œj¨¨U¯]ª]¸1Ñ-=Ô-=Ò)=ÀvÐNÑNÔNÐØ"¥f¨S°dÐ&;Ñ&;Ô&;Ò;Ð;Ð;Ð;Ð;Ð;r   r4   )çš™™™™™É?r-   gš™™™™™é?c                 ó6  ‡ ‡	‡
‡— d}t           j                             d¦  «        }t          j        t          j        |                     |¦  «        dd…df         ¦  «        |                     d|df¬¦  «         fd¬¦  «        Š	d}t          j        d	d
g¦  «        }t          j        ‰	|z  |z   ¦  «        dk    sJ ‚| 	                    ‰	|z  |z    t          j
        d‰ z
  ¦  «        z  |¬¦  «        Št          ‰ d¬¦  «                             ‰	‰¦  «        }|j        t          |d¬¦  «        k    sJ ‚t          |j        |d¬¦  «         t          t          j        |                     ‰	¦  «        ‰k    ¦  «        ‰ d¬¦  «         dŠ
|                     ‰
¬¦  «                             ‰	‰¦  «         t           j        |j        |j        f         }ˆ	ˆ
ˆ ˆfd„}t+          |g d¢ddddi¬¦  «        } ||¦  «        t           ||j        ¦  «        ¦  «        k    sJ ‚t          |j        |j        d         ¦  «         t          |j        |j        dd…         ¦  «         t          t          j        |                     ‰	¦  «        ‰k    ¦  «        ‰ d¬¦  «         dS )z<Test quantile regression for asymmetric distributed targets.rN   é*   Nr0   r   )Úsize)Úaxisg®Gáz®ó?r-   éþÿÿÿr   ©Úscaler_   r3   r\   ©Úrelç333333ã?©Úrtolr.   r6   ©r5   c                 ó¼   •— t          ‰‰| dd …         z  | d         z   ‰¬¦  «        }t          j        t          j        | dd …         ¦  «        ¦  «        }|‰|z  z   S )Nr   r   ri   )r
   rF   ÚsumrE   )r;   ÚlossÚL1r   r5   r4   r   s      €€€€r   Úfuncz#test_asymmetric_error.<locals>.func˜   s\   ø€ Ý   A¨¨Q¨R¨R¬¡L°4¸´7Ñ$:À(ÐKÑKÔKˆÝŒV•B”F˜4   œ8Ñ$Ô$Ñ%Ô%ˆØ�e˜b‘jÑ Ð r   )r   r   éÿÿÿÿzNelder-Meadgê-�™—q=ÚmaxiteriÐ  )ÚfunÚx0ÚmethodÚtolÚoptions)rF   ÚrandomÚRandomStateÚconcatenaterE   ÚrandnÚrandintÚarrayÚminÚexponentialÚlogr	   r)   r8   r   r   r9   rG   rH   Ú
set_paramsÚr_r   Úx)r4   r   Úrngr:   r;   r<   Ú
model_coefrn   Úresr   r5   r   s   `        @@@r   Útest_asymmetric_errorr…   p   sÊ  øøøø€ ð €IÝ
Œ)×
Ò
 Ñ
#Ô
#€CÝ
ŒåŒF�3—9’9˜YÑ'Ô'¨¨¨¨4¨Ô0Ñ1Ô1Ø�[Š[˜ )¨Q ˆ[Ñ0Ô0Ð0ð	
ð ð	ñ 	ô 	€Að €IÝŒ8�S˜"�IÑÔ€DåŒ6�!�d‘(˜YÑ&Ñ'Ô'¨!Ò+Ð+Ð+Ð+ð
 	�ŠØ�D‘˜9Ñ$Ð%­¬¨q°8©|Ñ(<Ô(<Ñ<À9ð 	ñ 	ô 	€Aõ ØØðñ ô ÷ 
‚cˆ!ˆQ�i„ið 
ð Ô�v i°SÐ9Ñ9Ô9Ò9Ð9Ð9Ð9Ý�E”K ¨CÐ0Ñ0Ô0Ð0Ý•B”G˜EŸMšM¨!Ñ,Ô,¨qÒ0Ñ1Ô1°8À$ÐGÑGÔGÐGð €EØ	×Ò˜5ÐÑ!Ô!×%Ò% a¨Ñ+Ô+Ð+Ý”�uÔ'¨¬Ð4Ô5€Jð!ð !ð !ð !ð !ð !ð !ð !õ
 ØØˆ:ˆ:ØØØ˜DÐ!ðñ ô €Cð ˆ4�
ÑÔ�v d d¨3¬5¡k¤kÑ2Ô2Ò2Ð2Ð2Ð2Ý�EÔ$ c¤e¨A¤hÑ/Ô/Ð/Ý�E”K ¤ q r r¤Ñ+Ô+Ð+Ý•B”G˜EŸMšM¨!Ñ,Ô,¨qÒ0Ñ1Ô1°8À$ÐGÑGÔGÐGÐGÐGr   c                 ó.  — t           j                             d¦  «        }d\  }}t          |||d|d¬¦  «        \  }}||                     d|j        ¬¦  «        z  }t          d¬¦  «        }t          dd	| i|¤Ž                     ||¦  «        }d
}t          dd	| i|¤Ž                     |||z  ¦  «        }	|	j	        t          ||j	        z  d¬¦  «        k    sJ ‚t          |	j        ||j        z  d¬¦  «         t          dd	d| z
  i|¤Ž                     || |z  ¦  «        }	|	j	        t          | |j	        z  d¬¦  «        k    sJ ‚t          |	j        | |j        z  d¬¦  «         |                     ¦   «         |                     |¦  «        }}
t          dd	| i|¤Ž}	|	                     ||||z  z   |
z   ¦  «         |	j	        t          |j	        |
z   ¦  «        k    sJ ‚t          |	j        |j        |z   d¬¦  «         |                     ||¦  «        }t          dd	| i|¤Ž}	|	                     ||z  |¦  «         |	j	        t          |j	        d¬¦  «        k    sJ ‚t          |	j        t           j                             ||j        ¦  «        d¬¦  «         dS )ziTest equivariace of quantile regression.

    See Koenker (2005) Quantile Regression, Chapter 2.2.3.
    r^   )r/   rQ   r   F)r   r   Ún_informativer   r   Úshuffler/   rb   ri   r4   g      @gñhãˆµøä>rd   rg   r   g�íµ ÷Æ°>N© )rF   rv   rw   r   r}   ÚshapeÚdictr	   r)   r8   r   r   r9   ry   ÚlinalgÚsolve)r4   r‚   r   r   r   r   ÚparamsÚmodel1ÚaÚmodel2Úg_interceptÚg_coefÚAs                r   Útest_equivariancer•   «   sË  € õ Œ)×
Ò
 Ñ
#Ô
#€CØ"Ñ€IˆzÝØØØ ØØØðñ ô �D€A€qð ˆ�Š˜s¨¬ˆÑ	1Ô	1Ñ1€AÝ˜ˆ]‰]Œ]€FÝÐ;Ð;¨Ð;°FÐ;Ð;×?Ò?ÀÀ1ÑEÔE€Fð 	€AÝÐ;Ð;¨Ð;°FÐ;Ð;×?Ò?ÀÀ1ÀqÁ5ÑIÔI€FØÔ¥ q¨6Ô+<Ñ'<À$Ð GÑ GÔ GÒGÐGÐGÐGÝ�F”L ! f¤lÑ"2¸Ð>Ñ>Ô>Ð>õ Ð?Ð?¨¨H©Ð?¸Ð?Ð?×CÒCÀAÈÀrÈAÁvÑNÔN€FØÔ¥¨ r¨FÔ,=Ñ'=À4Ð HÑ HÔ HÒHÐHÐHÐHÝ�F”L 1 " v¤|Ñ"3¸$Ð?Ñ?Ô?Ð?ð Ÿ)š)™+œ+ s§y¢y°Ñ'<Ô'<�€KÝÐ;Ð;¨Ð;°FÐ;Ð;€FØ
‡J‚Jˆq�!�a˜&‘j‘. ;Ñ.Ñ/Ô/Ð/ØÔ¥ vÔ'8¸;Ñ'FÑ GÔ GÒGÐGÐGÐGÝ�F”L &¤,°Ñ"7¸dÐCÑCÔCÐCð 	�	Š	�*˜jÑ)Ô)€AÝÐ;Ð;¨Ð;°FÐ;Ð;€FØ
‡J‚Jˆq�1‰u�aÑÔÐØÔ¥ vÔ'8¸dÐ CÑ CÔ CÒCÐCÐCÐCÝ�F”L¥"¤)§/¢/°!°V´\Ñ"BÔ"BÈÐNÑNÔNÐNÐNÐNr   z.ignore:`method='interior-point'` is deprecatedc                  óJ  — t          j        ddd¬¦  «                             dd¦  «        } t          j        ddd¬¦  «        }t          ddddi¬¦  «        }d	}t	          j        t          |¬
¦  «        5  |                     | |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zTest that linprog fails.r   r   )Únumro   r   r    rp   )r5   r   Úsolver_optionsz9Linear programming for QuantileRegressor did not succeed.r#   N)rF   ÚlinspaceÚreshaper	   r&   Úwarnsr   r)   )r   r   ÚregÚmsgs       r   Útest_linprog_failurerž   Ú   só   € õ 	Œ�A�r˜rÐ"Ñ"Ô"×*Ò*¨2¨qÑ1Ô1€AÝ
Œ�A�r˜rÐ"Ñ"Ô"€AÝ
ØÐ(¸)ÀQ¸ðñ ô €Cð F€CÝ	ŒÕ(°Ð	4Ñ	4Ô	4ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á4BÂBÂBÚsparse_container)Úhighszhighs-dsz	highs-ipmc                 óÖ  — d}d}t          ddd|d¬¦  «        \  }} | |¦  «        }d}	t          ||	|¬¦  «                             ||¦  «        }
t          ||	||¬	¦  «                             ||¦  «        }t          |j        |
j        d
¬¦  «         |j        dk    }|
j        dk    }|                     ¦   «         t          j        |d¬¦  «        k    sJ ‚|                     ¦   «         t          j        |d¬¦  «        k    sJ ‚|ra|j        t          |
j        ¦  «        k    sJ ‚t          j
        ||                     |¦  «        k     ¦  «        }|t          |d¬¦  «        k    sJ ‚dS dS )z/Test that sparse and dense X give same results.r   rf   i,  r@   rA   )r   r   r‡   r   r   rC   )r4   r5   r>   )r4   r5   r>   r   r.   rg   r   r   rD   rT   N)r   r	   r)   r   r9   rk   r&   r   r8   rF   rG   rH   )rŸ   r   r>   Úglobal_random_seedr‡   Úquantile_levelr   r   r*   r5   Úquant_denseÚquant_sparseÚsparse_supportÚdense_supportÚempirical_coverages                  r   Útest_sparse_inputr©   ì   s¶  € ð €MØ€NÝØØØØ'Øðñ ô �D€A€qð  Ð Ñ"Ô"€HØ€EÝ#Ø u¸Mðñ ô ç	‚cˆ!ˆQ�i„ið õ %Ø u¸MÐRXðñ ô ç	‚cˆ(�AÑÔð õ �LÔ&¨Ô(9ÀÐEÑEÔEÐEØ!Ô'¨1Ò,€NØÔ%¨Ò*€MØ×ÒÑÔ¥&¤-°À1Ð"EÑ"EÔ"EÒEÐEÐEÐEØ×ÒÑÔ¥6¤=°ÀAÐ#FÑ#FÔ#FÒFÐFÐFÐFØð FØÔ&­&°Ô1GÑ*HÔ*HÒHÐHÐHÐHåœW Q¨×)=Ò)=¸hÑ)GÔ)GÒ%GÑHÔHÐØ!¥V¨NÀÐ%EÑ%EÔ%EÒEÐEÐEÐEð	Fð Fð FÐEr   c                 ó€  — | \  }}ddl }|                     ¦   «         5 }|                     |j        j        dt          d¦  «        ¦  «         d}t          j        t          |¬¦  «        5  t          d¬¦  «         
                    ||¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )	zlCheck that we will raise a proper error when requesting
    `solver='interior-point'` in SciPy >= 1.11.
    r   Nr   z1.11.0zBSolver interior-point is not anymore available in SciPy >= 1.11.0.r#   r    r%   )Úsklearn.linear_model._quantileÚcontextÚsetattrÚlinear_modelÚ	_quantiler   r&   r'   r(   r	   r)   )r   Úmonkeypatchr   r   ÚsklearnÚmr+   s          r   Ú test_error_interior_point_futurer³     se  € ð �D€A€qØ)Ð)Ð)Ð)à	×	Ò	Ñ	Ô	ð A !Ø	�	Š	�'Ô&Ô0°,ÅÈhÑ@WÔ@WÑXÔXÐXØVˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Að 	AÝÐ%5Ð6Ñ6Ô6×:Ò:¸1¸aÑ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	AðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að As6   žAB3Á*%BÂB3ÂB	ÂB3Â"B	Â#B3Â3B7Â:B7)(ÚnumpyrF   r&   r   Úscipy.optimizer   Úsklearn.datasetsr   Úsklearn.exceptionsr   Úsklearn.linear_modelr   r	   Úsklearn.metricsr
   Úsklearn.utils._testingr   Úsklearn.utils.fixesr   r   r   r   r   Úfixturer   ÚmarkÚskipifÚbase_versionÚparametrizer,   r=   rK   rO   r[   r…   r•   Úfilterwarningsrž   r©   r³   r‰   r   r   ú<module>rÂ      s	  ðð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ -Ð -Ð -Ð -Ð -Ð -Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð ð ð ð ð ð ð ð ð ð ð ð „ðð ñ „ðð
 „×ÒØ€M�*Ô)Ñ*Ô*¨m¨m¸FÑ.CÔ.CÒCØAð ñ ô ð „×Ò˜Ð$4Ð6GÐ#HÑIÔIØ„×Ò˜¨.Ñ9Ô9ð:ð :ñ :Ô9ñ JÔIñ	ô ð:ð „×ÒØ&ð 	ÐÐàÐÐàˆˆàÐÐàÐÐðñô ð
 ð 
 ñô ð
 ð „×Ò˜¨4°¨-Ñ8Ô8ðFð Fñ 9Ô8ðFð „×Ò˜Ð.Ð.Ð.Ñ/Ô/ð@ð @ñ 0Ô/ð@ð<ð <ð <ð  „×Ò˜ _ _ _Ñ5Ô5ð7Hð 7Hñ 6Ô5ð7Hðt „×Ò˜ _ _ _Ñ5Ô5ð+Oð +Oñ 6Ô5ð+Oð\ „×ÒØ€M�*Ô)Ñ*Ô*¨m¨m¸FÑ.CÔ.CÒCØAð ñ ô ð „×ÒÐLÑMÔMð
ð 
ñ NÔMñ	ô ð

ð „×ÒØ˜¨Ñ7¸.ÑHñô ð „×Ò˜Ð#EÐ#EÐ#EÑFÔFØ„×Ò˜¨4°¨-Ñ8Ô8ðFð Fñ 9Ô8ñ GÔFñô ð
Fð>Að Að Að Að Ar   