§
    rŠtjšA  ã            	       ó  — d dl Zd dl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 d dlmZ d dlmZ d dlmZ d d	lmZmZmZ  ej        d
d¦  «        Zdez  dz   Z ej        eeg¦  «        Zej                             d¦  «        Z  ej!        e  "                     e#e¦  «        d¬¦  «        ¦  «        Z$ee$dd…fxx         de  %                     e#e$¦  «        d¦  «        dz  z   z  cc<   edd…d f         dd…ej&        f         Zedd…df         Zd„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2ej3         4                    d eez   ez   ¦  «        d!„ ¦   «         Z5d"„ Z6d#„ Z7d$„ Z8d%„ Z9d&„ Z:d'„ Z;d(„ Z<d)„ Z=d*„ Z>dS )+é    N)Úassert_array_almost_equalÚassert_array_equal)Úmake_regression)ÚConvergenceWarning)ÚLinearRegressionÚOrthogonalMatchingPursuitÚRANSACRegressorÚRidge)Ú_dynamic_max_trials)Úcheck_random_state)Úassert_allclose)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSi8ÿÿÿéÈ   çš™™™™™É?é   éè  ©Úsizeé2   é   é
   é   c                  ó2  — t          ¦   «         } t          | ddd¬¦  «        }|                     t          t          ¦  «         t          j        |j        ¦  «                             t
          j	        ¦  «        }d|t          <   t          |j        |¦  «         d S ©Nr   é   r   ©Úmin_samplesÚresidual_thresholdÚrandom_stateF©r   r	   ÚfitÚXÚyÚnpÚ	ones_likeÚinlier_mask_ÚastypeÚbool_Úoutliersr   ©Ú	estimatorÚransac_estimatorÚref_inlier_masks      úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/linear_model/tests/test_ransac.pyÚtest_ransac_inliers_outliersr1       sŒ   € Ý Ñ"Ô"€IÝ&Ø˜q°QÀQðñ ô Ðð
 ×Ò��AÑÔÐõ ”lÐ#3Ô#@ÑAÔA×HÒHÍÌÑRÔR€OØ %€O•HÑåÐ'Ô4°oÑFÔFÐFÐFÐFó    c                  óv  — d„ } t           j                             d¦  «        }|                     dd¦  «        }|                     dd¦  «        }t	          ¦   «         }t          |dd| d¬¦  «        }t          j        t          ¦  «        5  | 	                    ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 óR   — | j         d         dk    sJ ‚|j         d         dk    sJ ‚dS ©Nr   r   F©Úshape©r$   r%   s     r0   Úis_data_validz0test_ransac_is_data_valid.<locals>.is_data_valid1   ó-   € ØŒw�qŒz˜QŠˆˆˆØŒw�qŒz˜QŠˆˆˆØˆur2   r   r   r   r   r   )r   r    r9   r!   )
r&   ÚrandomÚRandomStateÚrandr   r	   ÚpytestÚraisesÚ
ValueErrorr#   )r9   Úrngr$   r%   r-   r.   s         r0   Útest_ransac_is_data_validrB   0   s  € ðð ð õ
 Œ)×
Ò
 Ñ
"Ô
"€CØ�Š��Q‰Œ€AØ�Š��Q‰Œ€Aå Ñ"Ô"€IÝ&ØØØØ#Øðñ ô Ðõ 
Œ•zÑ	"Ô	"ð #ð #Ø×Ò˜Q Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   Â
B.Â.B2Â5B2c                  óô   — d„ } t          ¦   «         }t          |dd| d¬¦  «        }t          j        t          ¦  «        5  |                     t          t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 óR   — |j         d         dk    sJ ‚|j         d         dk    sJ ‚dS r5   r6   ©r-   r$   r%   s      r0   Úis_model_validz2test_ransac_is_model_valid.<locals>.is_model_validG   r:   r2   r   r   r   )r   r    rF   r!   )r   r	   r>   r?   r@   r#   r$   r%   )rF   r-   r.   s      r0   Útest_ransac_is_model_validrG   F   sÎ   € ðð ð õ
 !Ñ"Ô"€IÝ&ØØØØ%Øðñ ô Ðõ 
Œ•zÑ	"Ô	"ð #ð #Ø×Ò�Q¥Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   ¿!A-Á-A1Á4A1c                  óR  — t          ¦   «         } t          | dddd¬¦  «        }t          j        t          ¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          t          ¦  «        t          t          ¦  «        z
  t          j        d         dd¦  «        }t          | d¬¦  «        }t          d¦  «        D ]I}|                     d|¬¦  «         |                     t          t          ¦  «         |j        |d	z   k     sJ ‚ŒJd S )
Nr   r   r   )r   r    Ú
max_trialsr!   g¡�vÿÿÿï?©r   r   ©r   r!   r   )r   r	   r>   r?   r@   r#   r$   r%   r   Úlenr+   r7   ÚrangeÚ
set_paramsÚ	n_trials_)r-   r.   rI   Úis       r0   Útest_ransac_max_trialsrQ   X   sV  € Ý Ñ"Ô"€Iå&ØØØØØðñ ô Ðõ 
Œ•zÑ	"Ô	"ð #ð #Ø×Ò�Q¥Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ %¥S­¡V¤V­cµ(©m¬mÑ%;½Q¼WÀQ¼ZÈÈHÑUÔU€JÝ& y¸aÐ@Ñ@Ô@ÐÝ�2‰YŒYð ;ð ;ˆØ×#Ò#°ÀÐ#ÑBÔBÐBØ×Ò�Q¥Ñ"Ô"Ð"ØÔ)¨J¸©NÒ:Ð:Ð:Ð:Ð:ð;ð ;s   ¼!A)Á)A-Á0A-c                  ó¤   — t          ¦   «         } t          | dddd¬¦  «        }|                     t          t          ¦  «         |j        dk    sJ ‚d S )Nr   r   r   )r   r    Ústop_n_inliersr!   r   ©r   r	   r#   r$   r%   rO   ©r-   r.   s     r0   Útest_ransac_stop_n_inliersrV   p   sc   € Ý Ñ"Ô"€IÝ&ØØØØØðñ ô Ðð ×Ò��AÑÔÐàÔ%¨Ò*Ð*Ð*Ð*Ð*Ð*r2   c                  ó¤   — t          ¦   «         } t          | dddd¬¦  «        }|                     t          t          ¦  «         |j        dk    sJ ‚d S )Nr   r   r   )r   r    Ú
stop_scorer!   r   rT   rU   s     r0   Útest_ransac_stop_scorerY   ~   sc   € Ý Ñ"Ô"€IÝ&ØØØØØðñ ô Ðð ×Ò��AÑÔÐàÔ%¨Ò*Ð*Ð*Ð*Ð*Ð*r2   c                  óœ  — t          j        d¦  «        d d …d f         } t          j        d¦  «        }d|d<   d|d<   t          ¦   «         }t	          |ddd¬¦  «        }|                     | |¦  «         |                     | dd …         |dd …         ¦  «        dk    sJ ‚|                     | d d…         |d d…         ¦  «        dk     sJ ‚d S ©Néd   ©r\   r   r   r   g      à?r   )r&   ÚarangeÚzerosr   r	   r#   Úscore©r$   r%   r-   r.   s       r0   Útest_ransac_scorerb   Œ   sæ   € Ý
Œ	�#‰Œ�q�q�q˜$�wÔ€AÝ
Œ�ÑÔ€AØ€A€a�DØ€A€a�Då Ñ"Ô"€IÝ&Ø˜q°SÀqðñ ô Ðð ×Ò˜˜AÑÔÐà×!Ò! ! A B B¤%¨¨1¨2¨2¬Ñ/Ô/°1Ò4Ð4Ð4Ð4Ø×!Ò! ! B Q B¤%¨¨2¨A¨2¬Ñ/Ô/°!Ò3Ð3Ð3Ð3Ð3Ð3r2   c                  óV  — t          j        d¦  «        d d …d f         } t          j        d¦  «        }d|d<   d|d<   t          ¦   «         }t	          |ddd¬¦  «        }|                     | |¦  «         t          |                     | ¦  «        t          j        d¦  «        ¦  «         d S r[   )r&   r^   r_   r   r	   r#   r   Úpredictra   s       r0   Útest_ransac_predictre   œ   s«   € Ý
Œ	�#‰Œ�q�q�q˜$�wÔ€AÝ
Œ�ÑÔ€AØ€A€a�DØ€A€a�Då Ñ"Ô"€IÝ&Ø˜q°SÀqðñ ô Ðð ×Ò˜˜AÑÔÐåÐ'×/Ò/°Ñ2Ô2µB´H¸S±M´MÑBÔBÐBÐBÐBr2   c                  óD  — d„ } t          ¦   «         }t          || d¬¦  «        }d}t          j        t          |¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        dk    sJ ‚|j	        dk    sJ ‚|j
        dk    sJ ‚d S )Nc                 ó   — dS ©NF© r8   s     r0   r9   z0test_ransac_no_valid_data.<locals>.is_data_valid¬   ó   € Øˆur2   r   )r9   rI   ú+RANSAC could not find a valid consensus set©Úmatchr   ©r   r	   r>   r?   r@   r#   r$   r%   Ún_skips_no_inliers_Ún_skips_invalid_data_Ún_skips_invalid_model_©r9   r-   r.   Úmsgs       r0   Útest_ransac_no_valid_datart   «   s  € ðð ð õ !Ñ"Ô"€IÝ&Ø ¸1ðñ ô Ðð 8€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð #ð #Ø×Ò�Q¥Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #àÔ/°1Ò4Ð4Ð4Ð4ØÔ1°QÒ6Ð6Ð6Ð6ØÔ2°aÒ7Ð7Ð7Ð7Ð7Ð7ó   Á!A.Á.A2Á5A2c                  óD  — d„ } t          ¦   «         }t          || d¬¦  «        }d}t          j        t          |¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        dk    sJ ‚|j	        dk    sJ ‚|j
        dk    sJ ‚d S )Nc                 ó   — dS rh   ri   rE   s      r0   rF   z2test_ransac_no_valid_model.<locals>.is_model_valid½   rj   r2   r   )rF   rI   rk   rl   r   rn   )rF   r-   r.   rs   s       r0   Útest_ransac_no_valid_modelrx   ¼   s  € ðð ð õ !Ñ"Ô"€IÝ&Ø .¸Qðñ ô Ðð 8€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð #ð #Ø×Ò�Q¥Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #àÔ/°1Ò4Ð4Ð4Ð4ØÔ1°QÒ6Ð6Ð6Ð6ØÔ2°aÒ7Ð7Ð7Ð7Ð7Ð7ru   c                  óF  — d„ } t          ¦   «         }t          || dd¬¦  «        }d}t          j        t          |¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        dk    sJ ‚|j	        dk    sJ ‚|j
        dk    sJ ‚d S )	Nc                 ó   — dS rh   ri   r8   s     r0   r9   z3test_ransac_exceed_max_skips.<locals>.is_data_validÎ   rj   r2   r   é   )r9   rI   Ú	max_skipsz/RANSAC skipped more iterations than `max_skips`rl   r   é   rn   rr   s       r0   Útest_ransac_exceed_max_skipsr~   Í   s  € ðð ð õ !Ñ"Ô"€IÝ&Ø ¸1Èðñ ô Ðð <€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð #ð #Ø×Ò�Q¥Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #àÔ/°1Ò4Ð4Ð4Ð4ØÔ1°QÒ6Ð6Ð6Ð6ØÔ2°aÒ7Ð7Ð7Ð7Ð7Ð7s   Á!A/Á/A3Á6A3c                  ój  —  G d„ d¦  «        } t          ¦   «         }t          | | ¦   «         dd¬¦  «        }d}t          j        t          |¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        dk    sJ ‚|j	        d	k    sJ ‚|j
        dk    sJ ‚d S )
Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú6test_ransac_warn_exceed_max_skips.<locals>.IsDataValidc                 ó   — d| _         d S )Nr   ©Úcall_counter)Úselfs    r0   Ú__init__z?test_ransac_warn_exceed_max_skips.<locals>.IsDataValid.__init__à   s   € Ø !ˆDÔÐÐr2   c                 ó<   — | j         dk    }| xj         dz  c_         |S )Nr   r   rƒ   )r…   r$   r%   Úresults       r0   Ú__call__z?test_ransac_warn_exceed_max_skips.<locals>.IsDataValid.__call__ã   s(   € ØÔ&¨!Ò+ˆFØÐÔ Ñ"ÐÔØˆMr2   N)Ú__name__Ú
__module__Ú__qualname__r†   r‰   ri   r2   r0   ÚIsDataValidr�   ß   s2   € € € € € ð	"ð 	"ð 	"ð	ð 	ð 	ð 	ð 	r2   r�   r{   r   )r9   r|   rI   z�RANSAC found a valid consensus set but exited early due to skipping more iterations than `max_skips`. See estimator attributes for diagnostics.rl   r   r}   )r   r	   r>   Úwarnsr   r#   r$   r%   ro   rp   rq   )r�   r-   r.   Úwarning_messages       r0   Ú!test_ransac_warn_exceed_max_skipsr�   Þ   s*  € ðð ð ð ð ñ ô ð õ !Ñ"Ô"€IÝ&Ø  ¡¤¸!Èðñ ô Ðð	ð õ 
ŒÕ(°Ð	@Ñ	@Ô	@ð #ð #Ø×Ò�Q¥Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #àÔ/°1Ò4Ð4Ð4Ð4ØÔ1°QÒ6Ð6Ð6Ð6ØÔ2°aÒ7Ð7Ð7Ð7Ð7Ð7s   Á!BÂBÂBÚsparse_containerc                 óH  —  | t           ¦  «        }t          ¦   «         }t          |ddd¬¦  «        }|                     |t          ¦  «         t          j        |j        ¦  «                             t
          j	        ¦  «        }d|t          <   t          |j        |¦  «         d S r   )r$   r   r	   r#   r%   r&   r'   r(   r)   r*   r+   r   )r‘   ÚX_sparser-   r.   r/   s        r0   Útest_ransac_sparser”   ù   sœ   € ð  Ð¥Ñ"Ô"€Hå Ñ"Ô"€IÝ&Ø˜q°QÀQðñ ô Ðð ×Ò˜¥1Ñ%Ô%Ð%å”lÐ#3Ô#@ÑAÔA×HÒHÍÌÑRÔR€OØ %€O•HÑåÐ'Ô4°oÑFÔFÐFÐFÐFr2   c                  ón  — t          ¦   «         } t          | ddd¬¦  «        }t          d ddd¬¦  «        }|                     t          t          ¦  «         |                     t          t          ¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         d S )Nr   r   r   r   )r   r	   r#   r$   r%   r   rd   )r-   r.   Úransac_none_estimators      r0   Útest_ransac_none_estimatorr—     s·   € Ý Ñ"Ô"€Iå&Ø˜q°QÀQðñ ô Ðõ ,Ø˜!°Àðñ ô Ðð ×Ò��AÑÔÐØ×Ò�a¥Ñ#Ô#Ð#åØ× Ò ¥Ñ#Ô#Ð%:×%BÒ%BÅ1Ñ%EÔ%Eñô ð ð ð r2   c                  ó6  — t          ¦   «         } t          | ddd¬¦  «        }t          | dt          j        d         z  dd¬¦  «        }t          | ddd¬¦  «        }t          | dd¬¦  «        }t          | t          j        d         dz   dd¬¦  «        }t          t	          ¦   «         d dd¬¦  «        }|                     t          t          ¦  «         |                     t          t          ¦  «         |                     t          t          ¦  «         |                     t          t          ¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         t          j
        t          ¦  «        5  |                     t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j
        t          |¬	¦  «        5  |                     t          t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   r   r   r   g       @)r    r!   r   z(`min_samples` needs to be explicitly setrl   )r   r	   r$   r7   r
   r#   r%   r   rd   r>   r?   r@   )r-   Úransac_estimator1Úransac_estimator2Úransac_estimator5Úransac_estimator6Úransac_estimator7Úransac_estimator8Úerr_msgs           r0   Útest_ransac_min_n_samplesr      së  € Ý Ñ"Ô"€IÝ'Ø˜q°QÀQðñ ô Ðõ (ØØ�!œ' !œ*Ñ$ØØð	ñ ô Ðõ (Ø˜q°QÀQðñ ô Ðõ (¨	ÀaÐVWÐXÑXÔXÐÝ'Ø�qœw qœz¨A™~À!ÐRSðñ ô Ðõ (Ý‰Œ˜T°aÀaðñ ô Ðð ×Ò�!�QÑÔÐØ×Ò�!�QÑÔÐØ×Ò�!�QÑÔÐØ×Ò�!�QÑÔÐåØ×!Ò!¥!Ñ$Ô$Ð&7×&?Ò&?ÅÑ&BÔ&Bñô ð õ Ø×!Ò!¥!Ñ$Ô$Ð&7×&?Ò&?ÅÑ&BÔ&Bñô ð õ Ø×!Ò!¥!Ñ$Ô$Ð&7×&?Ò&?ÅÑ&BÔ&Bñô ð õ 
Œ•zÑ	"Ô	"ð $ð $Ø×Ò�a¥Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð 9€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð $ð $Ø×Ò�a¥Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s$   È!H8È8H<È?H<É !JÊJÊJc                  ót  — t          ¦   «         } t          | ddd¬¦  «        }t          j        t          t          t          g¦  «        }|                     t          |¦  «         t          j        |j        ¦  «         	                    t          j
        ¦  «        }d|t          <   t          |j        |¦  «         d S r   )r   r	   r&   Úcolumn_stackr%   r#   r$   r'   r(   r)   r*   r+   r   )r-   r.   Úyyyr/   s       r0   Ú%test_ransac_multi_dimensional_targetsr¤   K  s£   € Ý Ñ"Ô"€IÝ&Ø˜q°QÀQðñ ô Ðõ
 Œ/�1�a¥˜)Ñ
$Ô
$€Cð ×Ò�˜CÑ Ô Ð õ ”lÐ#3Ô#@ÑAÔA×HÒHÍÌÑRÔR€OØ %€O•HÑåÐ'Ô4°oÑFÔFÐFÐFÐFr2   c                  óŽ  — d„ } d„ }d„ }t          j        t          t          t          g¦  «        }t          ¦   «         }t	          |ddd¬¦  «        }t	          |ddd| ¬¦  «        }t	          |ddd|¬¦  «        }|                     t          |¦  «         |                     t          |¦  «         |                     t          |¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         |                     t          t          ¦  «         ||_	        |                     t          t          ¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         t	          |dddd	¬¦  «        }|                     t          t          ¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         d S )
Nc                 óX   — t          j        t          j        | |z
  ¦  «        d¬¦  «        S )Nr   ©Úaxis)r&   ÚsumÚabs©Úy_trueÚy_preds     r0   Úloss_multi1z.test_ransac_residual_loss.<locals>.loss_multi1_  s%   € ÝŒv•b”f˜V f™_Ñ-Ô-°AÐ6Ñ6Ô6Ð6r2   c                 ó:   — t          j        | |z
  dz  d¬¦  «        S )Nr   r   r§   )r&   r©   r«   s     r0   Úloss_multi2z.test_ransac_residual_loss.<locals>.loss_multi2b  s    € ÝŒv�v ‘¨1Ñ,°1Ð5Ñ5Ô5Ð5r2   c                 ó0   — t          j        | |z
  ¦  «        S )N)r&   rª   r«   s     r0   Ú	loss_monoz,test_ransac_residual_loss.<locals>.loss_monoe  s   € ÝŒv�f˜v‘oÑ&Ô&Ð&r2   r   r   r   r   )r   r    r!   ÚlossÚsquared_error)
r&   r¢   r%   r   r	   r#   r$   r   rd   r³   )	r®   r°   r²   r£   r-   Úransac_estimator0r™   rš   Úransac_estimator3s	            r0   Útest_ransac_residual_lossr·   ^  sP  € ð7ð 7ð 7ð6ð 6ð 6ð'ð 'ð 'õ Œ/�1�a¥˜)Ñ
$Ô
$€Cå Ñ"Ô"€IÝ'Ø˜q°QÀQðñ ô Ðõ (ØØØØØðñ ô Ðõ (ØØØØØðñ ô Ðð ×Ò�!˜SÑ!Ô!Ð!Ø×Ò�!˜SÑ!Ô!Ð!Ø×Ò�!˜SÑ!Ô!Ð!ÝØ×!Ò!¥!Ñ$Ô$Ð&7×&?Ò&?ÅÑ&BÔ&Bñô ð õ Ø×!Ò!¥!Ñ$Ô$Ð&7×&?Ò&?ÅÑ&BÔ&Bñô ð ð
 ×Ò�!�QÑÔÐØ&ÐÔØ×Ò�!�QÑÔÐÝØ×!Ò!¥!Ñ$Ô$Ð&7×&?Ò&?ÅÑ&BÔ&Bñô ð õ (ØØØØØðñ ô Ðð ×Ò�!�QÑÔÐÝØ×!Ò!¥!Ñ$Ô$Ð&7×&?Ò&?ÅÑ&BÔ&Bñô ð ð ð r2   c                  ó0  — t          ¦   «         } t          | dd¬¦  «        }|                     t          t          ¦  «         t          j        |j        ¦  «                             t
          j	        ¦  «        }d|t          <   t          |j        |¦  «         d S )Nr   r   rK   Fr"   r,   s      r0   Ú&test_ransac_default_residual_thresholdr¹   œ  sƒ   € Ý Ñ"Ô"€IÝ& y¸aÈaÐPÑPÔPÐð ×Ò��AÑÔÐõ ”lÐ#3Ô#@ÑAÔA×HÒHÍÌÑRÔR€OØ %€O•HÑåÐ'Ô4°oÑFÔFÐFÐFÐFr2   c                  ó0  — t          dddd¦  «        dk    sJ ‚t          dddd¦  «        dk    sJ ‚t          dddd¦  «        dk    sJ ‚t          dddd¦  «        d	k    sJ ‚t          d
ddd¦  «        dk    sJ ‚t          dddd¦  «        dk    sJ ‚t          dddd¦  «        dk    sJ ‚t          dddd¦  «        dk    sJ ‚t          d
ddd¦  «        dk    sJ ‚t          dddd¦  «        dk    sJ ‚t          dddd¦  «        t          d¦  «        k    sJ ‚d S )Nr\   r   g®Gáz®ï?r   é_   éZ   r{   éF   é   r   é   é   r   é	   éN   i™  r   r   Úinf)r   Úfloatri   r2   r0   Útest_ransac_dynamic_max_trialsrÅ   ª  sk  € õ ˜s C¨¨DÑ1Ô1°QÒ6Ð6Ð6Ð6õ ˜r 3¨¨4Ñ0Ô0°AÒ5Ð5Ð5Ð5å˜r 3¨¨4Ñ0Ô0°AÒ5Ð5Ð5Ð5å˜r 3¨¨4Ñ0Ô0°AÒ5Ð5Ð5Ð5å˜r 3¨¨4Ñ0Ô0°BÒ6Ð6Ð6Ð6õ ˜r 3¨¨4Ñ0Ô0°AÒ5Ð5Ð5Ð5å˜r 3¨¨4Ñ0Ô0°AÒ5Ð5Ð5Ð5å˜r 3¨¨4Ñ0Ô0°BÒ6Ð6Ð6Ð6å˜r 3¨¨4Ñ0Ô0°DÒ8Ð8Ð8Ð8õ ˜q # r¨1Ñ-Ô-°Ò2Ð2Ð2Ð2Ý˜q # r¨1Ñ-Ô-µ°u±´Ò=Ð=Ð=Ð=Ð=Ð=r2   c            
      óV  — t          d¬¦  «        } t          j        d         }t          j        |¦  «        }|                      t          t          |¬¦  «         | j        j        d         |k    sJ ‚t          j        | j        ¦  «         	                    t          j
        ¦  «        }d|t          <   t          | j        |¦  «         t          d¦  «        }|                     ddddg¦  «        }t          j                             d|z  d	z   ¦  «        }|                     ddd¦  «        }|                     dd
ddg¦  «        }|                     ddd¦  «        }	|                     ddd¦  «        }
t          j        t          j        ||d¬¦  «        t          j        ||	d¬¦  «        d¬¦  «        }t          j                             t          j        t          j        ||d¬¦  «        t          j        |
|	d¬¦  «        d¬¦  «        ¦  «        }|                      ||¦  «         | j        j        }t          j        ||	¦  «        }t          j        ||d¬¦  «        }t          j        ||
¦  «        }|                      |||¬¦  «         t+          | j        j        |¦  «         t-          ¦   «         }t          |d¬¦  «        } |j        j        › d�}t3          j        t6          |¬¦  «        5  |                      t          t          |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ©r!   ©Úsample_weightFr   r   r   r   r   r   iüÿÿr§   rJ   z  does not support sample_weight.rl   )r	   r%   r7   r&   Úonesr#   r$   r(   r'   r)   r*   r+   r   r   ÚrandintÚndarrayÚflattenÚappendÚrepeatÚ
estimator_Úcoef_r   r   Ú	__class__rŠ   r>   r?   r@   )r.   Ú	n_samplesÚweightsr/   r!   ÚX_Úy_rÉ   Ú	outlier_XÚoutlier_weightÚ	outlier_yÚX_flatÚy_flatÚ	ref_coef_r-   rŸ   s                   r0   Útest_ransac_fit_sample_weightrÝ   Ê  s:  € Ý&°AÐ6Ñ6Ô6ÐÝ”˜”
€IÝŒg�iÑ Ô €GØ×Ò��A¨WÐÑ5Ô5Ð5àÔ(Ô.¨qÔ1°YÒ>Ð>Ð>Ð>å”lÐ#3Ô#@ÑAÔA×HÒHÍÌÑRÔR€OØ %€O•HÑåÐ'Ô4°oÑFÔFÐFõ & aÑ(Ô(€LØ	×	Ò	˜a  r¨1 gÑ	.Ô	.€BÝ	Œ×	Ò	˜C "™H q™LÑ	)Ô	)€BØ ×(Ò(¨¨B°Ñ3Ô3€MØ×$Ò$ Q¨¨q°!¨fÑ5Ô5€IØ!×)Ò)¨!¨R°Ñ3Ô3€NØ×$Ò$ U¨A¨qÑ1Ô1€IåŒYÝ
Œ	�"�m¨!Ð,Ñ,Ô,Ý
Œ	�)˜^°!Ð4Ñ4Ô4Øðñ ô €Fõ
 ŒZ×ÒÝ
Œ	ÝŒI�b˜-¨aÐ0Ñ0Ô0ÝŒI�i °aÐ8Ñ8Ô8Øð	
ñ 	
ô 	
ñô €Fð ×Ò˜ Ñ(Ô(Ð(Ø Ô+Ô1€Iå”I˜m¨^Ñ<Ô<€MÝ	Œ�2�y qÐ	)Ñ	)Ô	)€BÝ	Œ�2�yÑ	!Ô	!€BØ×Ò˜˜R¨}ÐÑ=Ô=Ð=åÐ$Ô/Ô5°yÑAÔAÐAõ *Ñ+Ô+€IÝ& y¸bÐAÑAÔAÐàÔ$Ô-ÐOÐOÐO€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð :ð :Ø×Ò�Q¥°ÐÑ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s   Ë.#LÌL"Ì%L"c                  óÐ  — t          dd¬¦  «        \  } }t          d¦  «        }|                     dd|j        d         ¬¦  «        }||                     ¦   «         z  }t          d¬	¦  «        }|                     | ||¬
¦  «         t          ¦   «         }|j        }|                     | |         ||         ||         ¬
¦  «         t          |j
        j        |j        d¬¦  «         d S )Nr   r   )rÓ   r!   é*   r   r}   r   r   rÇ   rÈ   gê-�™—q=)Úatol)r   r   rË   r7   r©   r	   r#   r   r(   r   rÐ   rÑ   )r$   r%   rA   rÉ   ÚransacÚfinal_modelÚmask_sampless          r0   Ú)test_ransac_final_model_fit_sample_weighträ     sè   € Ý T¸Ð;Ñ;Ô;�D€A€qÝ
˜RÑ
 Ô
 €CØ—K’K  1¨1¬7°1¬:�KÑ6Ô6€MØ! M×$5Ò$5Ñ$7Ô$7Ñ7€MÝ¨!Ð,Ñ,Ô,€FØ
‡J‚Jˆq�! =€JÑ1Ô1Ð1å"Ñ$Ô$€KØÔ&€LØ‡O‚OØ	ˆ,Œ˜˜<œ¸ÀlÔ8Sð ñ ô ð õ �FÔ%Ô+¨[Ô->ÀUÐKÑKÔKÐKÐKÐKr2   c                  ó<  — t          j        d¦  «        dd…df         } t          j        d¦  «        }t          ¦   «         }t	          |d¬¦  «        }|                     | |¦  «         t          |j        j        d¦  «         t          |j        j	        d¦  «         dS )z›Check that we can fit a line where all samples are inliers.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/19497
    r\   Nr]   r   rÇ   g        )
r&   r^   r_   r   r	   r#   r   rÐ   rÑ   Ú
intercept_ra   s       r0   Útest_perfect_horizontal_linerç     s•   € õ
 	Œ	�#‰Œ�q�q�q˜$�wÔ€AÝ
Œ�ÑÔ€Aå Ñ"Ô"€IÝ& y¸qÐAÑAÔAÐØ×Ò˜˜AÑÔÐåÐ$Ô/Ô5°sÑ;Ô;Ð;ÝÐ$Ô/Ô:¸CÑ@Ô@Ð@Ð@Ð@r2   )?Únumpyr&   r>   Únumpy.testingr   r   Úsklearn.datasetsr   Úsklearn.exceptionsr   Úsklearn.linear_modelr   r   r	   r
   Úsklearn.linear_model._ransacr   Úsklearn.utilsr   Úsklearn.utils._testingr   Úsklearn.utils.fixesr   r   r   r^   r$   r%   r¢   Údatar;   r<   rA   ÚuniquerË   rL   r+   r=   Únewaxisr1   rB   rG   rQ   rV   rY   rb   re   rt   rx   r~   r�   ÚmarkÚparametrizer”   r—   r    r¤   r·   r¹   rÅ   rÝ   rä   rç   ri   r2   r0   ú<module>rö      ss  ðØ Ð Ð Ð Ø €€€Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gà ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð ð ð ð ð ð ð ð ð ð =Ð <Ð <Ð <Ð <Ð <Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nð €B„Iˆd�CÑÔ€Øˆ!�Gˆb�L€Ø€r„˜˜1�vÑÔ€ð 	„i×Ò˜DÑ!Ô!€Øˆ2Œ9�S—[’[   Q¡¤¨c�[Ñ2Ô2Ñ3Ô3€Ø €Xˆqˆqˆq€[Ð Ð Ô �R˜#Ÿ(š( 3 3 x¡=¤=°!Ñ4Ô4°rÑ9Ñ9Ñ 9Ð Ð Ñ àˆˆˆˆAˆ„Jˆqˆqˆq�"”*ˆ}Ô€ØˆˆˆˆAˆ„J€ðGð Gð Gð #ð #ð #ð,#ð #ð #ð$;ð ;ð ;ð0+ð +ð +ð+ð +ð +ð4ð 4ð 4ð Cð Cð Cð8ð 8ð 8ð"8ð 8ð 8ð"8ð 8ð 8ð"8ð 8ð 8ð6 „×ÒØ˜¨Ñ7¸.ÑHñô ðGð Gñô ðGðð ð ð$+$ð +$ð +$ð\Gð Gð Gð&;ð ;ð ;ð|Gð Gð Gð>ð >ð >ð@4:ð 4:ð 4:ðnLð Lð Lð"Að Að Að Að Ar2   