Ë
    ÷Q(hþN  ã                   óì  — d dl Z 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Zd dlZd dlmZ d dlZd dlmZmZmZ d dlmZmZmZmZ d dlmZ d	Zd
ZdZdZ dZ!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/ej`                  jc                  d«      d„ «       Z2d„ Z3d„ Z4d „ Z5ej`                  jm                  d!e«      d"„ «       Z7ej`                  jm                  d!e«      d#„ «       Z8d$„ Z9d%„ Z:d&„ Z;d'„ Z<d(„ Z=ej`                  jm                  d!e«      d)„ «       Z>ej`                  jm                  d*g d+¢«      ej`                  jm                  d,d-d.g«      ej`                  jm                  d/g d0¢«      ej`                  jm                  d!e«      d1„ «       «       «       «       Z?ej`                  jm                  d!e«      d2„ «       Z@d3„ ZAej`                  jm                  d!e«      d4„ «       ZBd5„ ZCy)6é    N)ÚBZ2File)Ú	resources)ÚBytesIO)ÚNamedTemporaryFile)Údump_svmlight_fileÚload_svmlight_fileÚload_svmlight_files)Úassert_allcloseÚassert_array_almost_equalÚassert_array_equalÚcreate_memmap_backed_data)ÚCSR_CONTAINERSzsklearn.datasets.tests.datazsvmlight_classification.txtzsvmlight_multilabel.txtzsvmlight_invalid.txtzsvmlight_invalid_order.txtc                 ó:   — t        j                  t        «      | z  S ©N)r   ÚfilesÚTEST_DATA_MODULE)Úfilenames    úi/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/datasets/tests/test_svmlight_format.pyÚ_svmlight_local_test_file_pathr      s   € Ü�?‰?Ô+Ó,¨xÑ7Ð7ó    c                 ó~   — t        | «      }|j                  d«      5 }t        |fi |¤Žcddd«       S # 1 sw Y   yxY w)zG
    Helper to load resource `filename` with `importlib.resources`
    ÚrbN)r   Úopenr   )r   ÚkwargsÚ	data_pathÚfs       r   Ú_load_svmlight_local_test_filer   "   s>   € ô /¨xÓ8€IØ	�‰˜Ó	ð / Ü! !Ñ. vÑ.÷/÷ /ò /ús   �3³<c                  ó¸  — t        t        «      \  } }| j                  j                  d   dk(  sJ ‚| j                  d   dk(  sJ ‚| j                  d   dk(  sJ ‚|j                  d   dk(  sJ ‚dD ]  \  }}}| ||f   |k(  rŒJ ‚ | d   dk(  sJ ‚| d   dk(  sJ ‚| d	   dk(  sJ ‚| d
   dk(  sJ ‚| d   dk(  sJ ‚| dxx   dz  cc<   | d   dk(  sJ ‚t	        |g d¢«       y )Nr   é   é   é   é   )©r   é   g      @©r   é
   gÍÌÌÌÌÌÀ)r   é   g      ø?©r!   é   ç      ð?©r!   é   éýÿÿÿ)r$   é   é   )r   é   )r   r)   )r!   é   )r!   é   )r$   é   )r   r$   r$   r)   )r!   r$   r0   é   r!   r$   )r   ÚdatafileÚindptrÚshaper   ©ÚXÚyÚiÚjÚvals        r   Útest_load_svmlight_filer>   +   s  € Ü)¬(Ó3�D€A€qð �8‰8�>‰>˜!Ñ Ò!Ð!Ð!Ø�7‰7�1‰:˜Š?Ðˆ?Ø�7‰7�1‰:˜ÒÐÐØ�7‰7�1‰:˜Š?Ðˆ?ðò ‰	ˆˆ1ˆcð ��A�‰w˜#‹~Ðˆ~ðð ˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆU‰8�qŠ=Ðˆ=ØˆU‰8�qŠ=Ðˆ=ð €dƒGˆq�LƒGØˆT‰7�aŠ<Ðˆ<ô �qÒ,Õ-r   c                  ó’  — t        j                  t        «      t        z  } t	        | «      } t        | «      \  }}t        j                  | t        j                  «      }	 t        |«      \  }}t        |j                  |j                  «       t        ||«       t        j                  |«       y # t        j                  |«       w xY wr   )r   r   r   r5   Ústrr   Úosr   ÚO_RDONLYr   ÚdataÚclose)r   ÚX1Úy1ÚfdÚX2Úy2s         r   Útest_load_svmlight_file_fdrJ   N   s‰   € ô —‘Ô 0Ó1´HÑ<€IÜ�I“€IÜ 	Ó*�F€Bˆä	�‰�œBŸK™KÓ	(€BðÜ# BÓ'‰ˆˆBÜ! "§'¡'¨2¯7©7Ô3Ü! " bÔ)ä
�‰��øŒ�‰��ús   Á:B/ Â/Cc                  óÄ   — t        t        «      } t        t        | «      «      \  }}t        | «      \  }}t	        |j
                  |j
                  «       t	        ||«       y r   )r   r5   r   r@   r
   rC   )r   rE   rF   rH   rI   s        r   Útest_load_svmlight_pathlibrL   a   sH   € ä.¬xÓ8€IÜ¤ I£Ó/�F€BˆÜ 	Ó*�F€Bˆä�B—G‘G˜RŸW™WÔ%Ü�B˜Õr   c                  ó>   — t        t        d¬«      \  } }|g d¢k(  sJ ‚y )NT©Ú
multilabel))r   r!   )r$   © )r!   r$   )r   Ú	multifile)r9   r:   s     r   Ú"test_load_svmlight_file_multilabelrR   k   s!   € Ü)¬)ÀÔE�D€A€qØÒ*Ò*Ð*Ñ*r   c                  óh  — t        t        «      } t        t        | «      gdz  t        j
                  ¬«      \  }}}}t        |j                  «       |j                  «       «       t        ||«       |j                  t        j
                  k(  sJ ‚|j                  t        j
                  k(  sJ ‚t        t        | «      gdz  t        j                  ¬«      \  }}}}}	}
|j                  |j                  k(  sJ ‚|j                  |	j                  k(  sJ ‚|	j                  t        j                  k(  sJ ‚y )Nr$   )Údtyper0   )r   r5   r	   r@   ÚnpÚfloat32r   Útoarrayr   rT   Úfloat64)r   ÚX_trainÚy_trainÚX_testÚy_testrE   rF   rH   rI   ÚX3Úy3s              r   Útest_load_svmlight_filesr_   p   sï   € Ü.¬xÓ8€IÜ':Ü	ˆY‹Ð˜1Ñ¤B§J¡Jô(Ñ$€GˆW�f˜fô �w—‘Ó(¨&¯.©.Ó*:Ô;Ü˜g vÔ.Ø�=‰=œBŸJ™JÒ&Ð&Ð&Ø�<‰<œ2Ÿ:™:Ò%Ð%Ð%ä0´#°i³.Ð1AÀAÑ1EÌRÏZÉZÔXÑ€BˆˆB��B˜Ø�8‰8�r—x‘xÒÐÐØ�8‰8�r—x‘xÒÐÐØ�8‰8”r—z‘zÒ!Ð!Ñ!r   c                  ód  — t        t        d¬«      \  } }| j                  j                  d   dk(  sJ ‚| j                  d   dk(  sJ ‚| j                  d   dk(  sJ ‚dD ]  \  }}}| ||f   |k(  rŒJ ‚ t	        j
                  t        «      5  t        t        d¬«       d d d «       y # 1 sw Y   y xY w)	Né   )Ú
n_featuresr   r   r    r!   )r#   r%   r(   r+   r.   )r   r5   r6   r7   ÚpytestÚraisesÚ
ValueErrorr8   s        r   Ú"test_load_svmlight_file_n_featuresrf   €   s¶   € Ü)¬(¸rÔB�D€A€qð �8‰8�>‰>˜!Ñ Ò!Ð!Ð!Ø�7‰7�1‰:˜Š?Ðˆ?Ø�7‰7�1‰:˜ÒÐÐð Lò ‰	ˆˆ1ˆcØ��A�‰w˜#‹~Ðˆ~ðô 
�‰”zÓ	"ñ @Ü&¤x¸BÕ?÷@÷ @ñ @ús   ÂB&Â&B/c                  ó†  — t        t        «      \  } }t        dd¬«      5 }|j                  «        t	        t        «      j                  d«      5 }t        j
                  |j                  d«      5 }t        j                  ||«       d d d «       d d d «       t        |j                  «      \  }}t        j                  |j                  «       d d d «       t        | j                  «       j                  «       «       t        |«       t        dd¬«      5 }|j                  «        t	        t        «      j                  d«      5 }t        |j                  d«      5 }t        j                  ||«       d d d «       d d d «       t        |j                  «      \  }}t        j                  |j                  «       d d d «       t        | j                  «       j                  «       «       t        |«       y # 1 sw Y   �ŒsxY w# 1 sw Y   �ŒxxY w# 1 sw Y   �ŒFxY w# 1 sw Y   Œ¬xY w# 1 sw Y   Œ°xY w# 1 sw Y   Œ}xY w)Nzsklearn-testz.gz)ÚprefixÚsuffixr   Úwbz.bz2)r   r5   r   rD   r   r   ÚgzipÚnameÚshutilÚcopyfileobjr   rA   Úremover   rW   r   )	r9   r:   Útmpr   Úfh_outÚXgzÚygzÚXbzÚybzs	            r   Útest_load_compressedrv   ‘   s¶  € Ü)¬(Ó3�D€A€qä	 >¸%Ô	@ð ÀCØ�	‰	ŒÜ+¬HÓ5×:Ñ:¸4Ó@ð 	.ÀAÜ—‘˜3Ÿ8™8 TÓ*ð .¨fÜ×"Ñ" 1 fÔ-÷.÷	.ô & c§h¡hÓ/‰ˆˆSô 	�	‰	�#—(‘(Ô÷ô ˜aŸi™i›k¨3¯;©;«=Ô9Ü˜a Ô%ä	 >¸&Ô	Að ÀSØ�	‰	ŒÜ+¬HÓ5×:Ñ:¸4Ó@ð 	.ÀAÜ˜Ÿ™ 4Ó(ð .¨FÜ×"Ñ" 1 fÔ-÷.÷	.ô & c§h¡hÓ/‰ˆˆSô 	�	‰	�#—(‘(Ô÷ô ˜aŸi™i›k¨3¯;©;«=Ô9Ü˜a Õ%÷'.ñ .ú÷	.ñ 	.ú÷ñ ú÷.ð .ú÷	.ð 	.ú÷ð úsw    /HÁ!HÁ0G8ÂHÂ?HÄ/H7ÅH+ÅHÅ4H+Å<?H7Ç8HÇ=HÈH	È
HÈHÈH(È$H+È+H4	È0H7È7I c                  ó~   — t        j                  t        «      5  t        t        «       d d d «       y # 1 sw Y   y xY wr   )rc   rd   re   r   ÚinvalidfilerP   r   r   Útest_load_invalid_filery   ­   s+   € Ü	�‰”zÓ	"ñ 4Ü&¤{Ô3÷4÷ 4ñ 4úó   š3³<c                  ó~   — t        j                  t        «      5  t        t        «       d d d «       y # 1 sw Y   y xY wr   )rc   rd   re   r   Úinvalidfile2rP   r   r   Útest_load_invalid_order_filer}   ²   s+   € Ü	�‰”zÓ	"ñ 5Ü&¤|Ô4÷5÷ 5ñ 5úrz   c                  ó�   — t        d«      } t        j                  t        «      5  t	        | d¬«       d d d «       y # 1 sw Y   y xY w)Ns   -1 4:1.
1 0:1
F©Ú
zero_based)r   rc   rd   re   r   )r   s    r   Útest_load_zero_basedr�   ·   s8   € ÜÐ#Ó$€AÜ	�‰”zÓ	"ñ 0Ü˜1¨Õ/÷0÷ 0ñ 0ús	   ¥<¼Ac                  óü   — d} d}t        | «      }t        |d¬«      \  }}|j                  dk(  sJ ‚t        | «      }t        |«      }t        ||gd¬«      \  }}}}	|j                  dk(  sJ ‚|j                  dk(  sJ ‚y )Ns   -1 1:1 2:2 3:3
s   -1 0:0 1:1
Úautor   )r!   r0   )r!   r4   )r   r   r7   r	   )
Údata1Údata2Úf1r9   r:   Úf2rE   rF   rH   rI   s
             r   Útest_load_zero_based_autorˆ   ½   s…   € Ø€EØ€Eä	�‹€BÜ˜b¨VÔ4�D€A€qØ�7‰7�fÒÐÐä	�‹€BÜ	�‹€BÜ(¨"¨b¨¸fÔE�N€BˆˆB�Ø�8‰8�vÒÐÐØ�8‰8�vÒÐÑr   c                  óŽ  — d} t        t        | «      d¬«      \  }}t        |g d¢«       t        |j                  «       ddgddgd	dgg«       t	        t        | «      gd
¬«      }t        t        | «      d
¬«      }||fD ]E  \  }}}t        |g d¢«       t        |g d¢«       t        |j                  «       ddgddgd	dgg«       ŒG y )NsM   
    3 qid:1 1:0.53 2:0.12
    2 qid:1 1:0.13 2:0.1
    7 qid:2 1:0.87 2:0.12F©Úquery_id)r0   r$   r   gö(\�Âõà?g¸…ëQ¸¾?g¤p=
×£À?çš™™™™™¹?g×£p=
×ë?T)r!   r!   r$   )r   r   r   rW   r	   )rC   r9   r:   Úres1Úres2Úqids         r   Útest_load_with_qidr�   Ì   sÀ   € ð€Dô œg d›m°eÔ<�D€A€qÜ�qš)Ô$Ü�q—y‘y“{ d¨D \°D¸#°;ÀÀtÀÐ$MÔNÜ¤¨£˜¸Ô>€DÜœg d›m°dÔ;€DØ˜D�\ò S‰	ˆˆ1ˆcÜ˜1šiÔ(Ü˜3¢	Ô*Ü˜1Ÿ9™9›;¨$°¨¸¸c°{ÀTÈ4ÀLÐ(QÕRñSr   zPtesting the overflow of 32 bit sparse indexing requires a large amount of memoryc                  ó  — dj                  d„ t        dd«      D «       «      } t        t        | «      d¬«      \  }}}t	        |dd g d	¢«       t	        t        j                  |«      t        j                  dd«      «       y)
zU
    load large libsvm / svmlight file with qid attribute. Tests 64-bit query ID
    ó   
c              3   óZ   K  — | ]#  }d j                  |«      j                  «       –— Œ% y­w)z.3 qid:{0} 1:0.53 2:0.12
2 qid:{0} 1:0.13 2:0.1N)ÚformatÚencode)Ú.0r;   s     r   ú	<genexpr>z&test_load_large_qid.<locals>.<genexpr>å   s,   è ø€ ò 	
àð >×DÑDÀQÓG×NÑN×Pñ	
ùs   ‚)+r!   i ZbTrŠ   éüÿÿÿN)r0   r$   r0   r$   )ÚjoinÚranger   r   r   rU   ÚuniqueÚarange)rC   r9   r:   r�   s       r   Útest_load_large_qidr�   Ý   sm   € ð �:‰:ñ	
ä˜1Ð.Ó/ô	
ó€Dô #¤7¨4£=¸4Ô@�I€A€qˆ#Ü�q˜˜�vš|Ô,Ü”r—y‘y “~¤r§y¡y°Ð4DÓ'EÕFr   c                  óî   — t        j                  t        «      5  t        t        «      } t        t
        «      }t        t        | «      t        |«      t        | «      g«       d d d «       y # 1 sw Y   y xY wr   )rc   rd   re   r   r5   rx   r	   r@   )r   Úinvalid_paths     r   Útest_load_invalid_file2r    ï   sW   € Ü	�‰”zÓ	"ñ QÜ2´8Ó<ˆ	Ü5´kÓBˆÜœS ›^¬S°Ó->ÄÀIÃÐOÔP÷Q÷ Qñ Qús   šAA+Á+A4c                  óv   — t        j                  t        «      5  t        d«       d d d «       y # 1 sw Y   y xY w)Ngáz®GáÚ?)rc   rd   Ú	TypeErrorr   rP   r   r   Útest_not_a_filenamer£   ö   s-   € ô 
�‰”yÓ	!ñ !Ü˜4Ô ÷!÷ !ñ !úó   š/¯8c                  óv   — t        j                  t        «      5  t        d«       d d d «       y # 1 sw Y   y xY w)Nztrou pic nic douille)rc   rd   ÚOSErrorr   rP   r   r   Útest_invalid_filenamer§   ý   s,   € Ü	�‰”wÓ	ñ 3ÜÐ1Ô2÷3÷ 3ñ 3úr¤   Úcsr_containerc                 ó\  — t        t        «      \  }}|j                  «       } | t        j                  |«      «      }|t        j
                  |j                  d   «         }|t        j
                  |j                  d   «         }|||fD �]  }|||fD �]  }dD �]  }	t        j                  t        j                  t        j                  t        j                  fD �]Â  }
t        «       }t        j                  |«      r|j                  d   dk(  r|j                  }|j                  |
«      }t!        |||d|	¬«       |j#                  d«       |j%                  «       }t'        |d«      }dt(        j*                  z  |v sJ ‚|j%                  «       }t'        |d«      }dd	g|	   d
z   |v sJ ‚t-        ||
|	¬«      \  }}|j.                  |
k(  sJ ‚t1        |j3                  «       j4                  |j4                  «       |j                  «       }t        j                  |«      r|j                  «       }n|}|
t        j                  k(  r-t7        ||d«       t7        |j                  |
d¬«      |d«       �Œ˜t7        ||d«       t7        |j                  |
d¬«      |d«       �ŒÅ �Œ
 �Œ �Œ y )Nr   )TFr!   Útest©Úcommentr€   úutf-8zscikit-learn %sÚoneÚzeroz-based)rT   r€   r4   F)Úcopyr'   )r   r5   rW   rU   Ú
atleast_2drœ   r7   rV   rX   Úint32Úint64r   ÚspÚissparseÚTÚastyper   ÚseekÚreadliner@   ÚsklearnÚ__version__r   rT   r   Úsorted_indicesÚindicesr   )r¨   ÚX_sparseÚy_denseÚX_denseÚy_sparseÚX_slicedÚy_slicedr9   r:   r€   rT   r   ÚX_inputr¬   rH   rI   ÚX2_denseÚX_input_denses                     r   Ú	test_dumprÇ     sV  € ä6´xÓ@Ñ€HˆgØ×ÑÓ €GÙœRŸ]™]¨7Ó3Ó4€Hð œŸ	™	 (§.¡.°Ñ"3Ó4Ñ5€HØœŸ	™	 (§.¡.°Ñ"3Ó4Ñ5€Hà˜ Ð*ó 8ˆØ˜G XÐ.ó 7	ˆAØ+ó 6�
Ü Ÿj™j¬"¯*©*´b·h±hÄÇÁÐIó 5�EÜ›	�Aô
 —{‘{ 1”~¨!¯'©'°!©*¸ª/ð ŸC™C˜ð  Ÿh™h u›o�Gä&Ø  A¨vÀ*õð —F‘F˜1”IàŸj™j›l�GÜ! '¨7Ó3�Gà,¬w×/BÑ/BÑBÀgÑMÐMÐMàŸj™j›l�GÜ! '¨7Ó3�Gà! 6˜?¨:Ñ6¸ÑAÀWÑLÐLÐLä/°¸È:ÔV‘F�B˜ØŸ8™8 uÒ,Ð,Ð,Ü& r×'8Ñ'8Ó':×'BÑ'BÀBÇJÁJÔOà!Ÿz™z›|�HÜ—{‘{ 7Ô+Ø(/¯©Ó(9™à(/˜à¤§
¡
Ò*ä1°-ÀÈ1ÔMÜ1Ø#ŸN™N¨5°u˜NÓ=¸rÀ1öô
 2°-ÀÈ2ÔNÜ1Ø#ŸN™N¨5°u˜NÓ=¸rÀ2öòg5ò6ò7	ñ8r   c                 ó$  — g d¢g d¢g d¢g}g d¢g d¢g d¢g} | |«      }||fD ]k  }t        «       }t        |||d¬«       |j                  d	«       |j                  «       d
k(  sJ ‚|j                  «       dk(  sJ ‚|j                  «       dk(  rŒkJ ‚ y )N)r!   r   r0   r   r)   ©r   r   r   r   r   )r   r)   r   r!   r   ©r   r!   r   )r!   r   r!   )r!   r!   r   TrN   r   s   1 0:1 2:3 4:5
s   0,2 
s   0,1 1:5 3:1
)r   r   r¸   r¹   )r¨   r9   r¿   rÁ   r:   r   s         r   Útest_dump_multilabelrË   H  s–   € â	š/ª?Ð;€AÚš)¢YÐ/€GÙ˜WÓ%€HØ�xÐ ò 0ˆÜ‹IˆÜ˜1˜a ¨tÕ4Ø	�‰ˆqŒ	à�z‰z‹|Ð1Ò1Ð1Ð1Ø�z‰z‹|˜yÒ(Ð(Ð(Ø�z‰z‹|Ð/Ó/Ð/Ð/ñ0r   c                  óú  — d} d}d}d}d}| ||||gg d¢g d¢g d¢g d¢g}| ||||g}t        «       }t        |||«       |j                  d«       |j                  «       d	k(  sJ ‚|j                  «       d
k(  sJ ‚|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  d«       t	        |«      \  }}	t        ||j                  «       «       t        ||	«       y )Nr!   gÍÌÌÌÌÌ @g®Gáz@g     ð?r*   )g    eÍÍAg ÈNgmÁ»Cgã¾kc£Er   r   rÉ   r   s+   1 0:1 1:2.1 2:3.01 3:1.000000000000001 4:1
s!   2.1 0:1000000000 1:2e+18 2:3e+27
s   3.01 
s   1.000000000000001 
s   1 
)r   r   r¸   r¹   r   r   rW   )
r®   ÚtwoÚthreeÚexactÚalmostr9   r:   r   rH   rI   s
             r   Útest_dump_conciserÑ   W  s  € Ø
€CØ
€CØ€EØ€Eà€Fà	ˆc�5˜% Ð(ÚÚÚÚð	€Að 
ˆc�5˜% Ð(€AÜ‹	€AÜ�q˜!˜QÔØ‡F�Fˆ1„Ià�:‰:‹<ÐJÒJÐJÐJØ�:‰:‹<Ð@Ò@Ð@Ð@Ø�:‰:‹<˜:Ò%Ð%Ð%Ø�:‰:‹<Ð2Ò2Ð2Ð2Ø�:‰:‹<˜7Ò"Ð"Ð"Ø‡F�Fˆ1„Iä Ó"�F€BˆÜ˜a §¡£Ô.Ü˜a Õ$r   c                  ó  — t        t        «      \  } }| j                  «       } t        «       }d}t	        | |||d¬«       |j                  d«       t        |d¬«      \  }}t        | |j                  «       «       t        ||«       d}t        «       }t        j                  t        «      5  t	        | |||¬«       d d d «       |j                  d«      }t        «       }t	        | |||d¬«       |j                  d«       t        |d¬«      \  }}t        | |j                  «       «       t        ||«       t        «       }t        j                  t        «      5  t	        | ||d	¬«       d d d «       y # 1 sw Y   Œ·xY w# 1 sw Y   y xY w)
Nz*This is a comment
spanning multiple lines.Fr«   r   r   s   It is true that
Â½Â² = Â¼)r¬   r­   zI've got a  .)r   r5   rW   r   r   r¸   r   r   rc   rd   ÚUnicodeDecodeErrorÚdecodere   )r9   r:   r   Úascii_commentrH   rI   Úutf8_commentÚunicode_comments           r   Útest_dump_commentrØ   v  sE  € Ü)¬(Ó3�D€A€qØ	�	‰	‹€Aä‹	€AØA€MÜ�q˜!˜Q¨À%ÕHØ‡F�Fˆ1„Iä ¨eÔ4�F€BˆÜ˜a §¡£Ô.Ü˜a Ô$ð C€LÜ‹	€AÜ	�‰Ô)Ó	*ñ :Ü˜1˜a ¨LÕ9÷:ð #×)Ñ)¨'Ó2€OÜ‹	€AÜ�q˜!˜Q¨ÀEÕJØ‡F�Fˆ1„Iä ¨eÔ4�F€BˆÜ˜a §¡£Ô.Ü˜a Ô$ä‹	€AÜ	�‰”zÓ	"ñ >Ü˜1˜a Ð,<Õ=÷>ð >÷:ð :ú÷>ð >ús   Â+E1ÅE=Å1E:Å=Fc                  óH  — t        t        «      \  } }t        «       }|g}t        j                  t
        «      5  t        | ||«       d d d «       t        «       }t        j                  t
        «      5  t        | |d d |«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)Néÿÿÿÿ)r   r5   r   rc   rd   re   r   )r9   r:   r   Úy2ds       r   Útest_dump_invalidrÜ   —  sŒ   € Ü)¬(Ó3�D€A€qä‹	€AØˆ#€CÜ	�‰”zÓ	"ñ &Ü˜1˜c 1Ô%÷&ô 	‹	€AÜ	�‰”zÓ	"ñ )Ü˜1˜a  ˜f aÔ(÷)ð )÷	&ð &ú÷)ð )ús   ¹BÁ2BÂBÂB!c                  óp  — t        t        «      \  } }| j                  «       } t        j                  | j
                  d   «      dz  }t        «       }t        | |||d¬«       |j                  d«       t        |dd¬«      \  }}}t        | |j                  «       «       t        ||«       t        ||«       y )Nr   r$   T©r‹   r€   )r   r5   rW   rU   rœ   r7   r   r   r¸   r   r   )r9   r:   r‹   r   rE   rF   Ú	query_id1s          r   Útest_dump_query_idrà   ¤  s‘   € ä)¬(Ó3�D€A€qØ	�	‰	‹€AÜ�y‰y˜Ÿ™ ™Ó$¨Ñ)€HÜ‹	€AÜ�q˜!˜Q¨¸dÕCà‡F�Fˆ1„IÜ*¨1°tÈÔMÑ€BˆˆIÜ˜a §¡£Ô.Ü˜a Ô$Ü˜h¨	Õ2r   c                  ó:  — d} t        t        | «      d¬«      \  }}}g d¢g d¢g d¢g d¢g}g d¢}g d¢}t        ||«       t        |j                  «       |«       t        ||«       t        «       }t	        ||||d¬«       |j                  d	«       t        |dd¬«      \  }}}t        ||«       t        |j                  «       |«       t        ||«       |j                  d	«       t        |d
d¬«      \  }}t        ||«       t        |j                  «       |«       y )Nsù   
    1 qid:0 0:1 1:2 2:3
    0 qid:72048431380967004 0:1440446648 1:72048431380967004 2:236784985
    0 qid:-9223372036854775807 0:1440446648 1:72048431380967004 2:236784985
    3 qid:9223372036854775807  0:1440446648 1:72048431380967004 2:236784985TrŠ   )r!   r$   r0   )i¸xÛUì   \.,Nª^ÿiY)r!   r   r   r0   )r   râ   lûÿÿÿÿÿÿÿ l   ÿÿÿÿ rÞ   r   F)r   r   r   rW   r   r¸   )rC   r9   r:   r�   Útrue_XÚtrue_yÚtrueQIDr   s           r   Útest_load_with_long_qidræ   ³  sø   € ðO€Dô
 #¤7¨4£=¸4Ô@�I€A€qˆ#ò 	Ú2Ú2Ú2ð	€Fò €FÚO€GÜ�q˜&Ô!Ü�q—y‘y“{ FÔ+Ü�s˜GÔ$ä‹	€AÜ�q˜!˜Q¨¸Õ>Ø‡F�Fˆ1„IÜ" 1¨tÀÔE�I€A€qˆ#Ü�q˜&Ô!Ü�q—y‘y“{ FÔ+Ü�s˜GÔ$à‡F�Fˆ1„IÜ˜a¨%¸DÔA�D€A€qÜ�q˜&Ô!Ü�q—y‘y“{ FÕ+r   c                 óR  — t        «       } | t        j                  d¬«      «      }t        j                  g d¢«      }t	        |||«       dD ]X  }|j                  d«       t        |d|¬«      \  }}t        ||«       t        |j                  «       |j                  «       «       ŒZ y )N)r0   r4   ©r7   rÊ   )rƒ   TFr   r4   )rb   r€   )	r   rU   ÚzerosÚarrayr   r¸   r   r   rW   )r¨   r   rã   rä   r€   r9   r:   s          r   Útest_load_zerosrë   ×  s…   € ä‹	€AÙœ2Ÿ8™8¨&Ô1Ó2€FÜ�X‰X’iÓ €FÜ�v˜v qÔ)à+ò Aˆ
Ø	�‰ˆqŒ	Ü! !°¸jÔI‰ˆˆ1Ü! ! VÔ,Ü! !§)¡)£+¨v¯~©~Ó/?Õ@ñ	Ar   Úsparsity)r   rŒ   g      à?g®Gáz®ï?r!   Ú	n_samplesé   ée   rb   )r$   r   é)   c                 ó   — t         j                  j                  d«      }|j                  dd||f¬«      }| rd||| k  <    ||«      }|j	                  dd|¬«      }t        «       }t        |||«       |j                  d«       t        |j                  «       «      }d}	|dz  }
|
|	z
  }d|z  dz  }||
z
  }t        |||	|¬	«      \  }}t        |||
|¬	«      \  }}t        |||¬
«      \  }}t        j                  |||g«      }t        j                  |||g«      }t        ||«       t        |j                  «       |j                  «       «       y )Nr   ç        r*   ©ÚlowÚhighÚsizer$   r0   r4   r)   )rb   ÚoffsetÚlength)rb   r÷   )rU   ÚrandomÚRandomStateÚuniformÚrandintr   r   r¸   ÚlenÚgetvaluer   Úconcatenater´   Úvstackr   rW   )rì   rí   rb   r¨   Úrngr9   r:   r   rö   Úmark_0Úmark_1Úlength_0Úmark_2Úlength_1ÚX_0Úy_0ÚX_1Úy_1ÚX_2Úy_2Úy_concatÚX_concats                         r   Útest_load_with_offsetsr  å  sM  € ô
 �)‰)×
Ñ
 Ó
"€CØ�‰˜ #¨Y¸
Ð,CˆÓD€AÙØˆˆ!ˆh‰,‰Ù�aÓ€AØ�‰˜ ¨	ˆÓ2€Aä‹	€AÜ�q˜!˜QÔØ‡F�Fˆ1„Iäˆq�z‰z‹|Ó€Dð €FØ�Q‰Y€FØ˜‰€HØ�‰X˜‰]€FØ˜‰€Hô "Ø	�j¨¸ô�H€Cˆô "Ø	�j¨¸ô�H€Cˆô " !°
À6ÔJ�H€Cˆä�~‰~˜s C¨˜oÓ.€HÜ�y‰y˜#˜s C˜Ó)€HÜ˜a Ô*Ü˜aŸi™i›k¨8×+;Ñ+;Ó+=Õ>r   c           
      ó>  — t         j                  j                  d«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      } | |«      }|j                  \  }}|j                  dd|¬«      }t        j                  |«      dz  }t        «       }t        ||||¬	«       |j                  d«       t        |j                  «       «      }t        |«      D ]À  }	|j                  d«       t        ||d
d|	¬«      \  }
}}t        ||d
|	d¬«      \  }}}t        j                  ||g«      }t        j                  ||g«      }t        j                   |
|g«      }t#        ||«       t%        ||«       t#        |j'                  «       |j'                  «       «       ŒÂ y )Nr   )r   r   r   r   r   r   )r!   r$   r0   r4   r   r    )r!   r   r0   r   r   r   )r   r   r   r   r   r!   )r!   r   r   r   r   r   r$   ró   rŠ   T)rb   r‹   r÷   rø   rÚ   )rU   rù   rú   rê   r7   rü   rœ   r   r   r¸   rý   rþ   rš   r   rÿ   r´   r   r   r   rW   )r¨   r  r9   rí   rb   r:   r‹   r   rö   Úmarkr  r  Úq_0r	  r
  Úq_1Úq_concatr  r  s                      r   Ú"test_load_offset_exhaustive_splitsr    sn  € ä
�)‰)×
Ñ
 Ó
"€CÜ
�‰âÚÚÚÚÚÚð	
ó
	€Añ 	�aÓ€AØŸG™GÑ€IˆzØ�‰˜ ¨	ˆÓ2€AÜ�y‰y˜Ó# qÑ(€Hä‹	€AÜ�q˜!˜Q¨Õ2Ø‡F�Fˆ1„Iäˆq�z‰z‹|Ó€Dô �d“ò CˆØ	�‰ˆqŒ	Ü*Ø˜*¨t¸AÀdô
‰ˆˆS�#ô +Ø˜*¨t¸DÈô
‰ˆˆS�#ô —>‘> 3¨ *Ó-ˆÜ—>‘> 3¨ *Ó-ˆÜ—9‘9˜c 3˜ZÓ(ˆÜ! ! XÔ.Ü˜8 XÔ.Ü! !§)¡)£+¨x×/?Ñ/?Ó/AÕBñCr   c                  óˆ   — t        j                  t        d¬«      5  t        t        dd¬«       d d d «       y # 1 sw Y   y xY w)Nzn_features is required)Úmatchr0   )r÷   rø   )rc   rd   re   r   r5   rP   r   r   Útest_load_with_offsets_errorr  8  s6   € Ü	�‰”zÐ)AÔ	Bñ EÜ&¤x¸À!ÕD÷E÷ Eñ Eús	   œ8¸Ac                 ó´  — t        | dz  «      }t        j                  j                  d«      }|j	                  dd«      j                  t        j                  «      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      } ||||fd¬	«      }t        |||d
¬«       t        |d
¬«      \  }	}
g d¢}|
|k(  sJ ‚y)z†
    Ensure that if y contains explicit zeros (i.e. elements of y.data equal to
    0) then those explicit zeros are not encoded.
    Úsvm_explicit_zeroé*   r0   r)   )r   r$   r0   r    )r   r$   r$   r   r!   r$   )r   r!   r!   r!   r!   r   )r0   r0   rè   TrN   )©g       @r  )rò   r*   N)
r@   rU   rù   rú   Úrandnr·   rX   rê   r   r   )Útmp_pathr¨   Ú	save_pathr  r9   r6   r½   rC   r:   Ú_Úy_loadÚy_trues               r   Ú test_multilabel_y_explicit_zerosr#  =  s¸   € ô �HÐ2Ñ2Ó3€IÜ
�)‰)×
Ñ
 Ó
#€CØ�	‰	�!�Q‹×ÑœrŸz™zÓ*€AÜ�X‰X’lÓ#€FÜ�h‰hÒ)Ó*€Gä�8‰8Ò&Ó'€DÙ�t˜W fÐ-°VÔ<€Aô �q˜!˜Y°4Õ8ä" 9¸Ô>�I€A€vÚ)€FØ�VÒÐÑr   c                 óÞ   — t         j                  j                  d«      }|j                  dd«      }|j                  d«      }t	        ||g«      \  }}t        | dz  «      }t        |||«       y)z¡Ensure that there is no ValueError when dumping a read-only `X`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/28026
    r  r)   r$   Úsvm_read_onlyN)rU   rù   rú   r  r   r@   r   )r  r  r9   r:   r  s        r   Útest_dump_read_onlyr&  W  sc   € ô �)‰)×
Ñ
 Ó
#€CØ�	‰	�!�Q‹€AØ�	‰	�!‹€Aô % a¨ VÓ,�D€A€qä�H˜Ñ.Ó/€IÜ�q˜!˜YÕ'r   )Drk   rA   rm   Úbz2r   Ú	importlibr   Úior   Útempfiler   ÚnumpyrU   rc   Úscipy.sparseÚsparser´   rº   Úsklearn.datasetsr   r   r	   Úsklearn.utils._testingr
   r   r   r   Úsklearn.utils.fixesr   r   r5   rQ   rx   r|   r   r   r>   rJ   rL   rR   r_   rf   rv   ry   r}   r�   rˆ   r�   r  Úskipr�   r    r£   r§   ÚparametrizerÇ   rË   rÑ   rØ   rÜ   rà   ræ   rë   r  r  r  r#  r&  rP   r   r   ú<module>r3     s3  ðÛ Û 	Û Ý Ý Ý Ý 'ã Û Ý ã ß XÑ X÷ó õ /à0Ð Ø(€Ø%€	Ø$€Ø+€ò8ò/ò .òFò&ò+ò
"ò @ò"&ò84ò
5ò
0òòSð" ‡�×ÑØVóñGóðGòQò!ò3ð
 ‡�×Ñ˜¨.Ó9ñBó :ðBðJ ‡�×Ñ˜¨.Ó9ñ0ó :ð0ò%ò>>òB
)ò3ò!,ðH ‡�×Ñ˜¨.Ó9ñ
Aó :ð
Að ‡�×Ñ˜Ò%;Ó<Ø‡�×Ñ˜ r¨3 iÓ0Ø‡�×Ñ˜¢zÓ2Ø‡�×Ñ˜¨.Ó9ñ!?ó :ó 3ó 1ó =ð!?ðH ‡�×Ñ˜¨.Ó9ñ'Có :ð'CòTEð
 ‡�×Ñ˜¨.Ó9ñó :ðó2(r   