§
    qŠtj-Ð  ã                   óX  — d dl Z 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mZ 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mZmZmZm Z  d dl!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. d dl/m0Z0m1Z1m2Z2 dZ3dZ4e3e4z   Z5d„ Z6d„ Z7d„ Z8d„ Z9d„ Z:d„ Z;ej<         =                    deef¦  «        d„ ¦   «         Z>d„ Z?d„ Z@d„ ZAd„ ZBd„ ZCd „ ZDd!„ ZEd"„ ZFd#„ ZGd$„ ZHd%„ ZId&„ ZJd'„ ZKd(„ ZLd)„ ZMd*„ ZNd+„ ZOej<         P                    e0d,¬-¦  «        d.„ ¦   «         ZQd/„ ZRd0„ ZSd1„ ZTd2„ ZUd3„ ZVej<         =                    deef¦  «        d4„ ¦   «         ZWd5„ ZXd6„ ZYd7„ ZZd8„ Z[d9„ Z\ej<         =                    deef¦  «        d:„ ¦   «         Z]d;„ Z^d<„ Z_d=„ Z`d>„ Zad?„ Zbd@„ Zcej<         =                    dAejd        eje        ejf        g¦  «        dB„ ¦   «         ZgdC„ ZhdD„ ZidE„ ZjdF„ ZkdG„ ZldH„ ZmdI„ ZndJ„ ZodK„ ZpdL„ ZqdM„ Zrej<         =                    deeef¦  «        dN„ ¦   «         Zsej<         =                    dOejt        eju        g¦  «        dP„ ¦   «         Zvej<         =                    dQ ee1e2¦  «        ¦  «        dR„ ¦   «         Zwej<         =                    dSejx        eju        dTfejy        eju        dTfejt        ejt        dUfeju        eju        dUfg¦  «        dV„ ¦   «         Zzej<         =                    dW edX¬Y¦  «         edX¬Y¦  «         edX¬Y¦  «        g¦  «        dZ„ ¦   «         Z{d[„ Z|d\„ Z}e.ej<         =                    d]e2¦  «        d^„ ¦   «         ¦   «         Z~ej<         =                    d_eeeg¦  «        d`„ ¦   «         Zej<         =                    d_eeeg¦  «        ej<         =                    dadbe€dcfdde�defg¦  «        df„ ¦   «         ¦   «         Z‚ej<         =                    d_ee ejƒ        e¦  «        g¦  «        ej<         =                    dgdh„ di„ g¦  «        ej<         =                    djdddbg¦  «        dk„ ¦   «         ¦   «         ¦   «         Z„ej<         =                    d_eeeg¦  «        dl„ ¦   «         Z…ej<         =                    deeeg¦  «        ej<         =                    dmdndogdddpddqdrdsdtf	ddu„ ddpddqdvdsdtf	ddw„ ddpdxdydzdvd{f	ddd|„ dpdxd}„ d~dsdf	dddd€dd�„ d‚dsdf	dƒg¦  «        d„„ ¦   «         ¦   «         Z†ej<         =                    d…ed†d‡dˆœd‰d†dŠœgfee3ff¦  «        d‹„ ¦   «         Z‡dŒ„ Zˆd�„ Z‰ej<         =                    d_eeeeg¦  «        dŽ„ ¦   «         ZŠej<         =                    d]e2¦  «        d�„ ¦   «         Z‹ej<         =                    d�ejt        eju        g¦  «        d‘„ ¦   «         ZŒd’„ Z�d“„ ZŽdS )”é    N)Údefaultdict)ÚMapping)Úpartial)ÚStringIO)Úproduct)Úassert_array_almost_equalÚassert_array_equal)Úsparse)Úclone)ÚENGLISH_STOP_WORDSÚCountVectorizerÚHashingVectorizerÚTfidfTransformerÚTfidfVectorizerÚstrip_accents_asciiÚstrip_accents_unicodeÚ
strip_tags)ÚGridSearchCVÚcross_val_scoreÚtrain_test_split)ÚPipeline)Ú	LinearSVC)Ú_align_api_if_sparse)Úassert_allclose_dense_sparseÚassert_almost_equalÚskip_if_32bit)Ú_IS_WASMÚCSC_CONTAINERSÚCSR_CONTAINERS)zthe pizza pizza beer copyrightzthe pizza burger beer copyrightz!the the pizza beer beer copyrightzthe burger beer beer copyrightzthe coke burger coke copyrightzthe coke burger burger)zthe salad celeri copyrightz)the salad salad sparkling water copyrightzthe the celeri celeri copyrightzthe tomato tomato salad waterz the tomato salad water copyrightc                 óD   — t          | ¦  «                             ¦   «         S ©N)r   Úupper©Úss    úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/feature_extraction/tests/test_text.pyÚ	uppercaser&   :   s   € Ý  Ñ#Ô#×)Ò)Ñ+Ô+Ð+ó    c                 ó.   — |                       dd¦  «        S )Nõ   Ã©Úe)Úreplacer#   s    r%   Ústrip_eacuter,   >   s   € Ø�9Š9�T˜3ÑÔÐr'   c                 ó*   — |                       ¦   «         S r!   ©Úsplitr#   s    r%   Úsplit_tokenizer0   B   s   € Ø�7Š7‰9Œ9Ðr'   c                 ó   — dgS )NÚthe_ultimate_feature© r#   s    r%   Úlazy_analyzer4   F   s   € Ø"Ð#Ð#r'   c                  ód  — d} d}t          | ¦  «        |k    sJ ‚d} d}t          | ¦  «        |k    sJ ‚d} d}t          | ¦  «        |k    sJ ‚d} d}t          | ¦  «        |k    sJ ‚d	} d
}t          | ¦  «        |k    sJ ‚d} d}t          | ¦  «        |k    sJ ‚d} d
}t          | ¦  «        |k    sJ ‚d S )Nõ   Ã Ã¡Ã¢Ã£Ã¤Ã¥Ã§Ã¨Ã©ÃªÃ«Úaaaaaaceeeeõ   Ã¬Ã­Ã®Ã¯Ã±Ã²Ã³Ã´ÃµÃ¶Ã¹ÃºÃ»Ã¼Ã½Úiiiinooooouuuuyõ   Ø¥u   Ø§õ   this is Ã  testúthis is a testu   oÌˆÚou   Ì€Ì�Ì‚ÌƒÚ u   oÌˆÌ„)r   ©ÚaÚexpecteds     r%   Útest_strip_accentsrB   J   s  € à €AØ€HÝ  Ñ#Ô# xÒ/Ð/Ð/Ð/à(€AØ €HÝ  Ñ#Ô# xÒ/Ð/Ð/Ð/ð 	€AØ€HÝ  Ñ#Ô# xÒ/Ð/Ð/Ð/ð 	€AØ€HÝ  Ñ#Ô# xÒ/Ð/Ð/Ð/ð 	€AØ€HÝ  Ñ#Ô# xÒ/Ð/Ð/Ð/ð 	#€AØ€HÝ  Ñ#Ô# xÒ/Ð/Ð/Ð/ð 	€AØ€HÝ  Ñ#Ô# xÒ/Ð/Ð/Ð/Ð/Ð/r'   c                  óÎ   — d} d}t          | ¦  «        |k    sJ ‚d} d}t          | ¦  «        |k    sJ ‚d} d}t          | ¦  «        |k    sJ ‚d} d}t          | ¦  «        |k    sJ ‚d S )	Nr6   r7   r8   r9   r:   r>   r;   r<   )r   r?   s     r%   Útest_to_asciirD   n   s˜   € à €AØ€HÝ˜qÑ!Ô! XÒ-Ð-Ð-Ð-à(€AØ €HÝ˜qÑ!Ô! XÒ-Ð-Ð-Ð-ð 	€AØ€HÝ˜qÑ!Ô! XÒ-Ð-Ð-Ð-ð 	€AØ€HÝ˜qÑ!Ô! XÒ-Ð-Ð-Ð-Ð-Ð-r'   Ú
Vectorizerc                 ó  —  | d¬¦  «                              ¦   «         }d}g d¢} ||¦  «        |k    sJ ‚d}g d¢} ||¦  «        |k    sJ ‚ | d¬¦  «                              ¦   «         }t          d	¦  «        }g d
¢} ||¦  «        |k    sJ ‚ | t          ¬¦  «                              ¦   «         }d}g d¢} ||¦  «        |k    sJ ‚ | t          d¬¦  «                              ¦   «         }d}g d¢} ||¦  «        |k    sJ ‚d S )NÚascii©Ústrip_accentsõ:   J'ai mangÃ© du kangourou  ce midi, c'Ã©tait pas trÃ¨s bon.)
ÚaiÚmangeÚduÚ	kangourouÚceÚmidiÚetaitÚpasÚtresÚbonz0This is a test, really.

 I met Harry yesterday.)ÚthisÚisÚtestÚreallyÚmetÚharryÚ	yesterdayÚfile)Úinputú'This is a test with a file-like object!)rU   rV   rW   Úwithr\   ÚlikeÚobject©Úpreprocessoru;   J'ai mangÃ© du kangourou  ce midi,  c'Ã©tait pas trÃ¨s bon.)
ÚAIÚMANGEÚDUÚ	KANGOUROUÚCEÚMIDIÚETAITÚPASÚTRESÚBON)Ú	tokenizerrI   )
zj'airL   rM   rN   rO   zmidi,zc'etaitrR   rS   zbon.)Úbuild_analyzerr   r&   r0   )rE   ÚwaÚtextrA   s       r%   Útest_word_analyzer_unigramsrr   ƒ   st  € à	ˆ 'Ð	*Ñ	*Ô	*×	9Ò	9Ñ	;Ô	;€BØG€Dðð ð €Hð ˆ2ˆd‰8Œ8�xÒÐÐÐà?€DØLÐLÐL€HØˆ2ˆd‰8Œ8�xÒÐÐÐà	ˆ˜&Ð	!Ñ	!Ô	!×	0Ò	0Ñ	2Ô	2€BÝÐ=Ñ>Ô>€DØGÐGÐG€HØˆ2ˆd‰8Œ8�xÒÐÐÐð 
ˆ¥Ð	+Ñ	+Ô	+×	:Ò	:Ñ	<Ô	<€BØH€Dðð ð €Hð ˆ2ˆd‰8Œ8�xÒÐÐÐð 
ˆ�n¸GÐ	DÑ	DÔ	D×	SÒ	SÑ	UÔ	U€BØG€Dðð ð €Hð ˆ2ˆd‰8Œ8�xÒÐÐÐÐÐr'   c                  ó|   — t          ddd¬¦  «                             ¦   «         } d}g d¢} | |¦  «        |k    sJ ‚d S )NÚwordÚunicode©é   é   ©ÚanalyzerrI   Úngram_rangerJ   )rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   zai mangezmange duzdu kangourouzkangourou cezce midiz
midi etaitz	etait paszpas tresztres bon)r   ro   )rp   rq   rA   s      r%   Ú'test_word_analyzer_unigrams_and_bigramsr|   Á   se   € Ý	Ø y¸fð
ñ 
ô 
ç‚nÑÔð ð H€Dðð ð €Hð* ˆ2ˆd‰8Œ8�xÒÐÐÐÐÐr'   c                  ó´  — d} |                       d¦  «        }t          dd¬¦  «                             ¦   «         }t          j        t
          ¦  «        5   ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          ddd¬¦  «                             ¦   «         }t          j        t
          ¦  «        5   ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	NrJ   zutf-8rv   rG   )r{   ÚencodingÚchar©é   é   )rz   r{   r~   )Úencoder   ro   ÚpytestÚraisesÚUnicodeDecodeError)rq   Ú
text_bytesrp   Úcas       r%   Útest_unicode_decode_errorr‰   ß   s]  € ð H€DØ—’˜WÑ%Ô%€Jõ 
 V°gÐ	>Ñ	>Ô	>×	MÒ	MÑ	OÔ	O€BÝ	ŒÕ)Ñ	*Ô	*ð ð Ø
ˆˆ:‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Ø V°gð
ñ 
ô 
ç‚nÑÔð õ 
ŒÕ)Ñ	*Ô	*ð ð Ø
ˆˆ:‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÁA,Á,A0Á3A0Â4CÃCÃCc                  óÞ  — t          ddd¬¦  «                             ¦   «         } d}g d¢} | |¦  «        d d…         |k    sJ ‚g d¢} | |¦  «        d	d …         |k    sJ ‚d
}g d¢} | |¦  «        d d…         |k    sJ ‚g d¢} | |¦  «        d	d …         |k    sJ ‚t          ddd¬¦  «                             ¦   «         } t          d¦  «        }g d¢} | |¦  «        d d…         |k    sJ ‚d S )Nr   ru   r€   ry   u9   J'ai mangÃ© du kangourou  ce midi, c'Ã©tait pas trÃ¨s bon)zj'az'aizai zi mz maé   )zs tresz tres ztres bzres bozes bonéûÿÿÿú1This 
	is a test, really.

 I met Harry yesterday)ÚthiÚhisúis zs iz is)z yesteÚyesterÚesterdÚsterdaÚterdayr\   ©r]   rz   r{   r^   ©r   ro   r   ©Úcngarq   rA   s      r%   Útest_char_ngram_analyzerr™   ò   sS  € ÝØ y¸fðñ ô ç‚nÑÔð 	ð G€DØ2Ð2Ð2€HØˆ4�‰:Œ:�b�q�bŒ>˜XÒ%Ð%Ð%Ð%ØAÐAÐA€HØˆ4�‰:Œ:�b�c�cŒ?˜hÒ&Ð&Ð&Ð&àB€DØ2Ð2Ð2€HØˆ4�‰:Œ:�b�q�bŒ>˜XÒ%Ð%Ð%Ð%àAÐAÐA€HØˆ4�‰:Œ:�b�c�cŒ?˜hÒ&Ð&Ð&Ð&åØ˜v°6ðñ ô ç‚nÑÔð 	õ Ð=Ñ>Ô>€DØ2Ð2Ð2€HØˆ4�‰:Œ:�b�q�bŒ>˜XÒ%Ð%Ð%Ð%Ð%Ð%r'   c                  óf  — t          ddd¬¦  «                             ¦   «         } d}g d¢} | |¦  «        d d…         |k    sJ ‚g d¢} | |¦  «        d	d …         |k    sJ ‚t          d
dd¬¦  «                             ¦   «         } t          d¦  «        }g d¢} | |¦  «        d d…         |k    sJ ‚d S )NÚchar_wbru   r€   ry   r�   )z thrŽ   r�   r�   z thir‹   )r‘   r’   r“   r”   zerday rŒ   r\   r•   zA test with a file-like object!)z a z teÚtesÚestzst z tesr‚   r–   r—   s      r%   Útest_char_wb_ngram_analyzerrž     sö   € ÝØ¨)Àðñ ô ç‚nÑÔð 	ð C€DØ3Ð3Ð3€HØˆ4�‰:Œ:�b�q�bŒ>˜XÒ%Ð%Ð%Ð%àAÐAÐA€HØˆ4�‰:Œ:�b�c�cŒ?˜hÒ&Ð&Ð&Ð&åØ˜y°fðñ ô ç‚nÑÔð 	õ Ð5Ñ6Ô6€DØ:Ð:Ð:€HØˆ4�‰:Œ:�b�q�bŒ>˜XÒ%Ð%Ð%Ð%Ð%Ð%r'   c                  ó`  — t          ddd¬¦  «                             ¦   «         } d}g d¢} | |¦  «        d d…         |k    sJ ‚g d¢} | |¦  «        d	d …         |k    sJ ‚t          d
dd¬¦  «                             ¦   «         }t          |¦  «        } ||¦  «         | |¦  «        k    sJ ‚d S )Nrt   ru   r€   ry   r�   )zthis is testzis test reallyztest really metr�   )ztest really met harry yesterdayzthis is test really met harryz"is test really met harry yesterdayéýÿÿÿr\   r•   r–   )r˜   rq   rA   Ú	cnga_filer\   s        r%   Útest_word_ngram_analyzerr¢      sð   € ÝØ y¸fðñ ô ç‚nÑÔð 	ð C€DØDÐDÐD€HØˆ4�‰:Œ:�b�q�bŒ>˜XÒ%Ð%Ð%Ð%ðð ð €Hð
 ˆ4�‰:Œ:�b�c�cŒ?˜hÒ&Ð&Ð&Ð&åØ˜v°6ðñ ô ç‚nÑÔð õ �D‰>Œ>€DØˆ9�T‰?Œ?˜d˜d 4™jœjÒ(Ð(Ð(Ð(Ð(Ð(r'   c                  óª  — dddœ} t          |                      ¦   «         ¦  «        }t          t          t          t          t          t          ¦  «        fD ]þ} || ¦  «        }t          |¬¦  «        }| 	                    t          ¦  «         t          |t          ¦  «        r|j        | k    sJ ‚nt          |j        ¦  «        |k    sJ ‚|                     t          ¦  «        }|j        d         t!          |¦  «        k    sJ ‚ || ¦  «        }t          |¬¦  «        }|                     |¦  «        }t!          |¦  «        |j        d         k    sJ ‚Œÿd S )Nr   rw   ©ÚpizzaÚbeer©Ú
vocabulary)ÚsetÚkeysÚdictÚlistÚiterr   r   Úintr   ÚfitÚJUNK_FOOD_DOCSÚ
isinstancer   Úvocabulary_Ú	transformÚshapeÚlenÚinverse_transform)ÚvocabÚtermsÚtypÚvÚvectÚXÚinvs          r%   Ú&test_countvectorizer_custom_vocabularyr¾   7  sD  € Ø Ð#Ð#€EÝ�—
’
‘”ÑÔ€Eõ •d�D¥'­+µsÑ";Ô";Ð<ð &ð &ˆØˆC�‰JŒJˆÝ¨!Ð,Ñ,Ô,ˆØ�Š•Ñ Ô Ð Ý�a�Ñ!Ô!ð 	2ØÔ# uÒ,Ð,Ð,Ð,Ð,å�tÔ'Ñ(Ô(¨EÒ1Ð1Ð1Ð1Ø�NŠN�>Ñ*Ô*ˆØŒw�qŒz�S ™ZœZÒ'Ð'Ð'Ð'ØˆC�‰JŒJˆÝ¨!Ð,Ñ,Ô,ˆØ×$Ò$ QÑ'Ô'ˆÝ�3‰xŒx˜1œ7 1œ:Ò%Ð%Ð%Ð%Ð%ð&ð &r'   c                  óD  — ddg} t          dt          | ¬¦  «        fdt          ¦   «         fg¦  «        }|                     t          ¦  «        }t          |j        d         j        ¦  «        t          | ¦  «        k    sJ ‚|j        d         t          | ¦  «        k    sJ ‚d S )Nr¥   r¦   Úcountr§   Útfidfrw   )
r   r   r   Úfit_transformÚALL_FOOD_DOCSr©   Únamed_stepsr²   r´   rµ   )Úwhat_we_likeÚpiper¼   s      r%   Ú/test_countvectorizer_custom_vocabulary_pipelinerÇ   L  s¨   € Ø˜VÐ$€LÝà•o°Ð>Ñ>Ô>Ð?ØÕ&Ñ(Ô(Ð)ð	
ñô €Dð 	×Ò�=Ñ)Ô)€AÝˆtÔ Ô(Ô4Ñ5Ô5½¸\Ñ9JÔ9JÒJÐJÐJÐJØŒ7�1Œ:�˜\Ñ*Ô*Ò*Ð*Ð*Ð*Ð*Ð*r'   c                  óÈ   — dddœ} d}t          j        t          |¬¦  «        5  t          | ¬¦  «        }|                     dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r¤   z$Vocabulary contains repeated indices©Úmatchr§   Úpasta_siziliana©r„   r…   Ú
ValueErrorr   r¯   )r·   Úmsgr»   s      r%   Ú7test_countvectorizer_custom_vocabulary_repeated_indicesrÏ   Y  s³   € Ø Ð#Ð#€EØ
0€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð &ð &Ý¨%Ð0Ñ0Ô0ˆØ�ŠÐ#Ð$Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s   £'AÁAÁAc                  óÄ   — dddœ} t          j        t          d¬¦  «        5  t          | ¬¦  «        }|                     dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrw   rx   r¤   zdoesn't contain indexrÉ   r§   Úpasta_verdurarÌ   ©r·   r»   s     r%   Ú0test_countvectorizer_custom_vocabulary_gap_indexrÓ   a  s®   € Ø Ð#Ð#€EÝ	Œ•zÐ)@Ð	AÑ	AÔ	Að $ð $Ý¨%Ð0Ñ0Ô0ˆØ�Š�/Ð"Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s   ¡'AÁAÁAc                  óz  — t          ¦   «         } |                      d¬¦  «         |                      ¦   «         t          k    sJ ‚|                      d¬¦  «         t	          j        t          ¦  «        5  |                      ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      d¬¦  «         t	          j        t          ¦  «        5  |                      ¦   «          d d d ¦  «         n# 1 swxY w Y   g d¢}|                      |¬¦  «         |                      ¦   «         t          |¦  «        k    sJ ‚d S )NÚenglish©Ú
stop_wordsÚ_bad_str_stop_Ú_bad_unicode_stop_)ÚsomeÚotherÚwords)r   Ú
set_paramsÚget_stop_wordsr   r„   r…   rÍ   r©   )ÚcvÚstoplists     r%   Útest_countvectorizer_stop_wordsrá   h  sŸ  € Ý	Ñ	Ô	€BØ‡M‚M˜Y€MÑ'Ô'Ð'Ø×ÒÑÔÕ"4Ò4Ð4Ð4Ð4Ø‡M‚MÐ-€MÑ.Ô.Ð.Ý	Œ•zÑ	"Ô	"ð ð Ø
×ÒÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à‡M‚MÐ1€MÑ2Ô2Ð2Ý	Œ•zÑ	"Ô	"ð ð Ø
×ÒÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à)Ð)Ð)€HØ‡M‚M˜X€MÑ&Ô&Ð&Ø×ÒÑÔ¥# h¡-¤-Ò/Ð/Ð/Ð/Ð/Ð/s$   Á3BÂBÂBÃC/Ã/C3Ã6C3c                  óp  — t          j        t          d¬¦  «        5  t          g ¬¦  «        } |                      dg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          dd¬¦  «        }|                     g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nzempty vocabularyrÉ   r§   Úfooç      ð?rÕ   )Úmax_dfr×   )zto be or not to bez
and me toozand so do yourÌ   )r»   rº   s     r%   Ú%test_countvectorizer_empty_vocabularyræ   w  sL  € Ý	Œ•zÐ);Ð	<Ñ	<Ô	<ð ð Ý¨"Ð-Ñ-Ô-ˆØ�Š�%�ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•zÐ);Ð	<Ñ	<Ô	<ð Eð EÝ 3°9Ð=Ñ=Ô=ˆà	�ŠÐCÐCÐCÑDÔDÐDðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð Eð Es#   œ'AÁAÁAÁ5)B+Â+B/Â2B/c                  óæ   — t          ¦   «         } |                      t          d d…         ¦  «        }|                      t          dd …         ¦  «        }|j        d         |j        d         k    sJ ‚d S )Nr‹   rw   )r   rÂ   rÃ   r´   )rß   ÚX1ÚX2s      r%   Útest_fit_countvectorizer_twicerê   ‚  sh   € Ý	Ñ	Ô	€BØ	×	Ò	�-¨¨¨Ô+Ñ	,Ô	,€BØ	×	Ò	�-¨¨¨Ô+Ñ	,Ô	,€BØŒ8�AŒ;˜"œ( 1œ+Ò%Ð%Ð%Ð%Ð%Ð%r'   c                  ó¬   — g d¢} d}t          |¬¦  «        }|                     | ¦  «         g d¢}|                     ¦   «         }t          ||¦  «         dS )z¦Check `get_feature_names_out()` when a custom token pattern is passed.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/12971
    ©z&This is the 1st document in my corpus.z This document is the 2nd sample.zAnd this is the 3rd one.zIs this the 4th document?z'[0-9]{1,3}(?:st|nd|rd|th)\s\b(\w{2,})\b©Útoken_pattern)ÚdocumentÚoneÚsampleN)r   rÂ   Úget_feature_names_outr	   )Úcorpusrî   Ú
vectorizerrA   Úfeature_names_outs        r%   Ú)test_countvectorizer_custom_token_patternrö   ‰  sr   € ð
ð ð €Fð ?€MÝ ¨}Ð=Ñ=Ô=€JØ×Ò˜VÑ$Ô$Ð$Ø,Ð,Ð,€HØ"×8Ò8Ñ:Ô:ÐÝÐ(¨(Ñ3Ô3Ð3Ð3Ð3r'   c                  óÈ   — g d¢} d}d}t          |¬¦  «        }t          j        t          |¬¦  «        5  |                     | ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z¥Check that we raise an error if token pattern capture several groups.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/12971
    rì   z)([0-9]{1,3}(?:st|nd|rd|th))\s\b(\w{2,})\bz,More than 1 capturing group in token patternrí   rÉ   N©r   r„   r…   rÍ   r¯   )ró   rî   Úerr_msgrô   s       r%   Ú<test_countvectorizer_custom_token_pattern_with_several_grouprú   œ  s»   € ð
ð ð €Fð A€MØ<€GÝ ¨}Ð=Ñ=Ô=€JÝ	Œ•z¨Ð	1Ñ	1Ô	1ð ð Ø�Š�vÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ´AÁAÁAc                  óz  — g d¢} d}t          d| ¬¦  «        }t          j        t          |¬¦  «        5  |                     | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         5  t          j        dt          ¦  «         |                     | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)ÚSampleÚUpperÚCaseÚ
VocabularyzyUpper case characters found in vocabulary while 'lowercase' is True. These entries will not be matched with any documentsT)Ú	lowercaser¨   rÉ   Úerror)	r   r„   ÚwarnsÚUserWarningr¯   ÚwarningsÚcatch_warningsÚsimplefilterr³   )r¨   Úmessagerô   s      r%   Ú'test_countvectorizer_uppercase_in_vocabr  ¯  sE  € ð ;Ð:Ð:€Jð	)ð õ !¨4¸JÐGÑGÔG€Jå	Œ•k¨Ð	1Ñ	1Ô	1ð #ð #Ø�Š�zÑ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ 
Ô	 Ñ	"Ô	"ð )ð )ÝÔ˜g¥{Ñ3Ô3Ð3Ø×Ò˜ZÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s#   ³AÁAÁAÁ30B0Â0B4Â7B4c                  ó¶   — g d¢g d¢g d¢g} t          dd¬¦  «                             | ¦  «        }g d¢}|                     |¦  «        }t          ||¦  «         dS )	z0Check get_feature_names_out for TfidfTransformer©rw   rw   rw   ©rw   rw   r   ©rw   r   r   TÚl2©Ú
smooth_idfÚnorm)r@   ÚcÚbN)r   r¯   rò   r	   )r¼   ÚtrÚfeature_names_inrõ   s       r%   Ú%test_tf_transformer_feature_names_outr  Ä  sq   € à	ˆˆ�I�I�I˜y˜y˜yÐ)€AÝ	 T°Ð	5Ñ	5Ô	5×	9Ò	9¸!Ñ	<Ô	<€Bà&��ÐØ×0Ò0Ð1AÑBÔBÐÝÐ'Ð):Ñ;Ô;Ð;Ð;Ð;r'   c                  óÌ  — g d¢g d¢g d¢g} t          dd¬¦  «        }|                     | ¦  «                             ¦   «         }|dk                         ¦   «         sJ ‚t	          |dz                       d	¬
¦  «        g d¢¦  «         g d¢g d¢g d¢g} t          dd¬¦  «        }|                     | ¦  «                             ¦   «         }|dk                         ¦   «         sJ ‚d S )Nr
  r  r  Tr  r  r   rx   rw   ©Úaxis©rä   rä   rä   )r   rÂ   ÚtoarrayÚallr   Úsum©r¼   r  rÁ   s      r%   Útest_tf_idf_smoothingr  Î  sü   € Ø	ˆˆ�I�I�I˜y˜y˜yÐ)€AÝ	 T°Ð	5Ñ	5Ô	5€BØ×Ò˜QÑÔ×'Ò'Ñ)Ô)€EØ�QŠJ×ÒÑÔÐÐÐõ ˜u a™xŸnšn°!˜nÑ4Ô4°o°o°oÑFÔFÐFð 
ˆˆ�I�I�I˜y˜y˜yÐ)€AÝ	 T°Ð	5Ñ	5Ô	5€BØ×Ò˜QÑÔ×'Ò'Ñ)Ô)€EØ�QŠJ×ÒÑÔÐÐÐÐÐr'   zcno floating point exceptions, see https://github.com/numpy/numpy/pull/21895#issuecomment-1311525881)Úreasonc                  ó  — g d¢g d¢g d¢g} t          dd¬¦  «        }|                     | ¦  «                             ¦   «         }|dk                         ¦   «         sJ ‚t	          |dz                       d	¬
¦  «        g d¢¦  «         g d¢g d¢g d¢g} t          dd¬¦  «        }d}t          j        t          |¬¦  «        5  |                     | ¦  «                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr
  r  r  Fr  r  r   rx   rw   r  r  zdivide by zerorÉ   )	r   rÂ   r  r  r   r  r„   r  ÚRuntimeWarning)r¼   r  rÁ   Úin_warning_messages       r%   Útest_tfidf_no_smoothingr#  Þ  s]  € ð 
ˆˆ�I�I�I˜y˜y˜yÐ)€AÝ	 U°Ð	6Ñ	6Ô	6€BØ×Ò˜QÑÔ×'Ò'Ñ)Ô)€EØ�QŠJ×ÒÑÔÐÐÐõ ˜u a™xŸnšn°!˜nÑ4Ô4°o°o°oÑFÔFÐFð 
ˆˆ�I�I�I˜y˜y˜yÐ)€AÝ	 U°Ð	6Ñ	6Ô	6€Bà)ÐÝ	Œ•nÐ,>Ð	?Ñ	?Ô	?ð &ð &Ø
×Ò˜ÑÔ×#Ò#Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s   Ã (C5Ã5C9Ã<C9c                  ó,  — dgdgdgg} t          ddd ¬¦  «        }|                     | ¦  «                             ¦   «         }|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 S )Nrw   rx   r�   TF)Úsublinear_tfÚuse_idfr  r   )r   rÂ   r  r  s      r%   Útest_sublinear_tfr'  ø  s¯   € Ø
ˆˆqˆc�A�3ˆ€AÝ	 t°UÀÐ	FÑ	FÔ	F€BØ×Ò˜QÑÔ×'Ò'Ñ)Ô)€EØ�Œ8�qŠ=ˆ=ˆ=ˆ=Ø�Œ8�e˜A”hÒÐÐÐØ�Œ8�e˜A”hÒÐÐÐØ�Œ8�aŠ<ˆ<ˆ<ˆ<Ø�Œ8�aŠ<ˆ<ˆ<ˆ<ˆ<ˆ<r'   c                  óÜ
  — t          t          d d…         ¦  «        } t          d         g}t          t          ¦  «        dz
  }t          d¬¦  «        }|                     | ¦  «        }t          |d¦  «        r|                     ¦   «         }|d|j        d         f         dk    sJ ‚t          |j        ¬	¦  «        }||fD ]è}|                     |¦  «        }t          |d¦  «        r|                     ¦   «         }|j        }|d|d
         f         dk    sJ ‚|d|d         f         dk    sJ ‚|d|d         f         dk    sJ ‚d|vsJ ‚d|vsJ ‚|d|d         f         dk    sJ ‚|d|d         f         dk    sJ ‚|d|d         f         dk    sJ ‚|d|d         f         dk    sJ ‚Œét          d¬¦  «        }	|	 
                    |¦  «                             |¦  «                             ¦   «         }
t          |	j        ¦  «        t          |j        ¦  «        k    sJ ‚|
j        |t          |j        ¦  «        fk    sJ ‚|	                     |¦  «                             ¦   «         }|j        t          |¦  «        t          |j        ¦  «        fk    sJ ‚t          dd¬¦  «        }| 
                    |¦  «                             |¦  «                             ¦   «         }t          |d¦  «        rJ ‚t          d¬¦  «        }t          j        t           ¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t#          t%          j        |d¬¦  «        dg|z  ¦  «         t          t          d d…         ¦  «        } t)          d¬¦  «        }|j        |_        |                     | ¦  «                             ¦   «         }|j        rJ ‚t#          |
|¦  «         |                     |¦  «                             ¦   «         }t#          ||¦  «         t          d ¬	¦  «        }t          j        t           ¦  «        5  |                     | ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     dd¬¦  «         |                     ¦   «         }d}t3          |¦  «        } ||¦  «        }||k    sJ ‚|                     dd ¬¦  «         t          j        t           ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   d |_        t          j        t           ¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )!Néÿÿÿÿrw   ç      à?©rå   Útocsrr   r¥   rx   r§   ÚsaladÚtomatoÚwaterÚtheÚ	copyrightÚcokeÚburgerr¦   Úl1©r  F)r  r&  Úidf_T©r&  r  rä   rG   )rI   r   rJ   Ú_gabbledegook_)rI   rc   Ú_invalid_analyzer_type_)r­   rÃ   rµ   r   rÂ   Úhasattrr,  r²   r³   r   r¯   r  r6  r´   r„   r…   rÍ   r   Únpr  r   rå   Úfixed_vocabulary_rÝ   Úbuild_preprocessorr   ro   )Ú
train_dataÚ	test_dataÚn_trainÚv1Úcounts_trainÚv2rº   Úcounts_testr¨   Út1rÁ   Ú
tfidf_testÚt2ÚtfÚt3ÚtvÚtfidf2Útfidf_test2Úv3Ú	processorrq   rA   Úresults                          r%   Útest_vectorizerrP    s~  € å•m C R CÔ(Ñ)Ô)€JÝ˜rÔ"Ð#€IÝ•-Ñ Ô  1Ñ$€Gõ 
 Ð	$Ñ	$Ô	$€BØ×#Ò# JÑ/Ô/€LÝˆ|˜WÑ%Ô%ð ,Ø#×)Ò)Ñ+Ô+ˆØ˜˜2œ>¨'Ô2Ð2Ô3°qÒ8Ð8Ð8Ð8õ 
 B¤NÐ	3Ñ	3Ô	3€Bð �"ˆXð 8ð 8ˆØ—k’k )Ñ,Ô,ˆÝ�; Ñ(Ô(ð 	.Ø%×+Ò+Ñ-Ô-ˆKà”]ˆ
Ø˜1˜j¨Ô1Ð1Ô2°aÒ7Ð7Ð7Ð7Ø˜1˜j¨Ô2Ð2Ô3°qÒ8Ð8Ð8Ð8Ø˜1˜j¨Ô1Ð1Ô2°aÒ7Ð7Ð7Ð7ð ˜JÐ&Ð&Ð&Ð&ð  *Ð,Ð,Ð,Ð,ð ˜1˜j¨Ô0Ð0Ô1°QÒ6Ð6Ð6Ð6Ø˜1˜j¨Ô2Ð2Ô3°qÒ8Ð8Ð8Ð8Ø˜1˜j¨Ô0Ð0Ô1°QÒ6Ð6Ð6Ð6Ø˜1˜j¨Ô1Ð1Ô2°aÒ7Ð7Ð7Ð7Ð7õ 
˜tÐ	$Ñ	$Ô	$€BØ�FŠF�<Ñ Ô ×*Ò*¨<Ñ8Ô8×@Ò@ÑBÔB€EÝˆrŒw‰<Œ<�3˜rœ~Ñ.Ô.Ò.Ð.Ð.Ð.ØŒ;˜7¥C¨¬Ñ$7Ô$7Ð8Ò8Ð8Ð8Ð8ð —’˜kÑ*Ô*×2Ò2Ñ4Ô4€JØÔ¥ I¡¤µ°B´NÑ0CÔ0CÐDÒDÐDÐDÐDõ 
˜t¨UÐ	3Ñ	3Ô	3€BØ	�Š�Ñ	Ô	×	'Ò	'¨Ñ	5Ô	5×	=Ò	=Ñ	?Ô	?€BÝ�r˜6Ñ"Ô"Ð"Ð"Ð"õ 
 $Ð	'Ñ	'Ô	'€BÝ	Œ•zÑ	"Ô	"ð #ð #Ø
�Š�\Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ �bœf R¨aÐ0Ñ0Ô0°3°%¸'±/ÑBÔBÐBõ •m C R CÔ(Ñ)Ô)€JÝ	˜dÐ	#Ñ	#Ô	#€Bà”	€B„IØ×Ò˜jÑ)Ô)×1Ò1Ñ3Ô3€FØÔ#Ð#Ð#Ð#Ý˜e VÑ,Ô,Ð,ð —,’,˜yÑ)Ô)×1Ò1Ñ3Ô3€KÝ˜j¨+Ñ6Ô6Ð6õ 
 DÐ	)Ñ	)Ô	)€BÝ	Œ•zÑ	"Ô	"ð !ð !Ø
�Š�ZÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð ‡M‚M °5€MÑ9Ô9Ð9Ø×%Ò%Ñ'Ô'€IØG€DÝ" 4Ñ(Ô(€HØˆY�t‰_Œ_€FØ�vÒÐÐÐð ‡M‚MÐ 0¸t€MÑDÔDÐDÝ	Œ•zÑ	"Ô	"ð  ð  Ø
×ÒÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð .€B„MÝ	Œ•zÑ	"Ô	"ð ð Ø
×ÒÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sH   ÌL<Ì<M ÍM ÑQ)Ñ)Q-Ñ0Q-Ó3TÔTÔTÔ?U!Õ!U%Õ(U%c                  ó²  — d\  } }}}t          | |||¬¦  «        }|                     t          ¦  «         |j        j        | k    sJ ‚|j        j        |k    sJ ‚|j        j        |k    sJ ‚|j        j        |k    sJ ‚d|_        d|_        d|_        d|_        |j        j        | k    sJ ‚|j        j        |k    sJ ‚|j        j        |k    sJ ‚|j        j        |k    sJ ‚|                     t          ¦  «         |j        j        |j        k    sJ ‚|j        j        |j        k    sJ ‚|j        j        |j        k    sJ ‚|j        j        |j        k    sJ ‚d S )N)r  FFF)r  r&  r  r%  r4  T)r   r¯   r°   Ú_tfidfr  r&  r  r%  )r  r&  r  r%  rJ  s        r%   Útest_tfidf_vectorizer_settersrS  j  s„  € Ø.GÑ+€Dˆ'�:˜|Ý	Ø˜7¨zÈð
ñ 
ô 
€Bð ‡F‚F�>ÑÔÐØŒ9Œ>˜TÒ!Ð!Ð!Ð!ØŒ9Ô Ò'Ð'Ð'Ð'ØŒ9Ô :Ò-Ð-Ð-Ð-ØŒ9Ô! \Ò1Ð1Ð1Ð1ð €B„GØ€B„JØ€B„MØ€B„OØŒ9Œ>˜TÒ!Ð!Ð!Ð!ØŒ9Ô Ò'Ð'Ð'Ð'ØŒ9Ô :Ò-Ð-Ð-Ð-ØŒ9Ô! \Ò1Ð1Ð1Ð1à‡F‚F�>ÑÔÐØŒ9Œ>˜RœWÒ$Ð$Ð$Ð$ØŒ9Ô ¤
Ò*Ð*Ð*Ð*ØŒ9Ô 2¤=Ò0Ð0Ð0Ð0ØŒ9Ô! R¤_Ò4Ð4Ð4Ð4Ð4Ð4r'   c                  ó"  — t          ¦   «         } |                      t          ¦  «        }|j        }|j        t          t          ¦  «        | j        fk    sJ ‚|j        | j        k    sJ ‚t          j	        |j
        ¦  «        dk    sJ ‚t          j	        |j
        ¦  «        dk     sJ ‚t          j        |j
        ¦  «        dk    sJ ‚t          j        |j
        ¦  «        dk     sJ ‚|D ]5}t          t          j                             |j
        d¦  «        d¦  «         Œ6t          dd¬¦  «        } |                      t          ¦  «        }|j        t          t          ¦  «        | j        fk    sJ ‚|j        | j        k    sJ ‚|j        }||k    sJ ‚|d|z  k     sJ ‚t          j	        |j
        ¦  «        dk    sJ ‚t          j        |j
        ¦  «        dk     sJ ‚|D ]5}t          t          j                             |j
        d¦  «        d¦  «         Œ6d S )	Nr)  r   rw   rx   rä   rv   r4  )r{   r  )r   r³   rÃ   Únnzr´   rµ   Ú
n_featuresÚdtyper;  ÚminÚdataÚmaxr   Úlinalgr  )rº   r¼   Ú	token_nnzÚrowÚ
ngrams_nnzs        r%   Útest_hashing_vectorizerr_  ‡  s  € ÝÑÔ€AØ	�Š•MÑ"Ô"€AØ”€IØŒ7•s�=Ñ)Ô)¨1¬<Ð8Ò8Ð8Ð8Ð8ØŒ7�a”gÒÐÐÐõ Œ6�!”&‰>Œ>˜BÒÐÐÐÝŒ6�!”&‰>Œ>˜AÒÐÐÐÝŒ6�!”&‰>Œ>˜AÒÐÐÐÝŒ6�!”&‰>Œ>˜AÒÐÐÐð ð >ð >ˆÝ�BœIŸNšN¨3¬8°QÑ7Ô7¸Ñ=Ô=Ð=Ð=õ 	 f°4Ð8Ñ8Ô8€AØ	�Š•MÑ"Ô"€AØŒ7•s�=Ñ)Ô)¨1¬<Ð8Ò8Ð8Ð8Ð8ØŒ7�a”gÒÐÐÐð ”€JØ˜	Ò!Ð!Ð!Ð!Ø˜˜I™Ò%Ð%Ð%Ð%õ Œ6�!”&‰>Œ>˜BÒÐÐÐÝŒ6�!”&‰>Œ>˜AÒÐÐÐð ð >ð >ˆÝ�BœIŸNšN¨3¬8°QÑ7Ô7¸Ñ=Ô=Ð=Ð=ð>ð >r'   c                  ój  — t          d¬¦  «        } t          j        t          ¦  «        5  |                      ¦   «          d d d ¦  «         n# 1 swxY w Y   | j        rJ ‚|                      t          ¦  «        }|j        \  }}t          | j
        ¦  «        |k    sJ ‚|                      ¦   «         }t          |t          j        ¦  «        sJ ‚|j        t          k    sJ ‚t          |¦  «        |k    sJ ‚t!          g d¢|¦  «         t#          |¦  «        D ]%\  }}|| j
                             |¦  «        k    sJ ‚Œ&g d¢}t          |¬¦  «        } |                      ¦   «         }t!          g d¢|¦  «         | j        sJ ‚t#          |¦  «        D ]%\  }}|| j
                             |¦  «        k    sJ ‚Œ&d S )Nr*  r+  ©	r¦   r3  Úcelerir2  r¥   r-  Ú	sparklingr.  r/  r§   )r   r„   r…   rÍ   rò   r<  rÂ   rÃ   r´   rµ   r²   r±   r;  ÚndarrayrW  ra   r	   Ú	enumerateÚget)rß   r¼   Ú	n_samplesrV  Úfeature_namesÚidxÚnamer·   s           r%   Útest_feature_namesrk  ­  sG  € Ý	 Ð	$Ñ	$Ô	$€Bõ 
Œ•zÑ	"Ô	"ð #ð #Ø
× Ò Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #àÔ#Ð#Ð#Ð#ð 	×Ò�Ñ'Ô'€AØœGÑ€IˆzÝˆrŒ~ÑÔ *Ò,Ð,Ð,Ð,à×,Ò,Ñ.Ô.€MÝ�m¥R¤ZÑ0Ô0Ð0Ð0Ð0ØÔ¥&Ò(Ð(Ð(Ð(åˆ}ÑÔ Ò+Ð+Ð+Ð+Ýð
	
ð 
	
ð 
	
ð 	ñô ð õ ˜}Ñ-Ô-ð /ð /‰	ˆˆTØ�b”n×(Ò(¨Ñ.Ô.Ò.Ð.Ð.Ð.Ð.ð
ð 
ð 
€Eõ 
 EÐ	*Ñ	*Ô	*€BØ×,Ò,Ñ.Ô.€MÝð
	
ð 
	
ð 
	
ð 	ñô ð ð ÔÐÐÐå˜}Ñ-Ô-ð /ð /‰	ˆˆTØ�b”n×(Ò(¨Ñ.Ô.Ò.Ð.Ð.Ð.Ð.ð/ð /s   ªAÁAÁAc                 ó�   — h d£} | dd¬¦  «        }|                      t          ¦  «         t          |j        ¦  «        |k    sJ ‚d S )N>   r¦   r¥   r-  r3  g333333ã?é   )rå   Úmax_features)r¯   rÃ   r©   r²   )rE   Úexpected_vocabularyrô   s      r%   Útest_vectorizer_max_featuresrp  ô  sY   € à>Ð>Ð>Ðð � 3°QÐ7Ñ7Ô7€JØ‡N‚N•=Ñ!Ô!Ð!ÝˆzÔ%Ñ&Ô&Ð*=Ò=Ð=Ð=Ð=Ð=Ð=r'   c                  óN  — t          d¬¦  «        } t          d¬¦  «        }t          d ¬¦  «        }|                      t          ¦  «                             d¬¦  «        }|                     t          ¦  «                             d¬¦  «        }|                     t          ¦  «                             d¬¦  «        }|                      ¦   «         }|                     ¦   «         }|                     ¦   «         }d|                     ¦   «         k    sJ ‚d|                     ¦   «         k    sJ ‚d|                     ¦   «         k    sJ ‚d|t          j        |¦  «                 k    sJ ‚d|t          j        |¦  «                 k    sJ ‚d|t          j        |¦  «                 k    sJ ‚d S )Nrw   ©rn  r�   r   r  é   r0  )r   rÂ   r°   r  rò   rZ  r;  Úargmax)	Úcv_1Úcv_3Úcv_NoneÚcounts_1Úcounts_3Úcounts_NoneÚ
features_1Ú
features_3Úfeatures_Nones	            r%   Ú"test_count_vectorizer_max_featuresr~  þ  sŠ  € õ ¨Ð*Ñ*Ô*€DÝ¨Ð*Ñ*Ô*€DÝ¨4Ð0Ñ0Ô0€Gà×!Ò!¥.Ñ1Ô1×5Ò5¸1Ð5Ñ=Ô=€HØ×!Ò!¥.Ñ1Ô1×5Ò5¸1Ð5Ñ=Ô=€HØ×'Ò'­Ñ7Ô7×;Ò;ÀÐ;ÑCÔC€Kà×+Ò+Ñ-Ô-€JØ×+Ò+Ñ-Ô-€JØ×1Ò1Ñ3Ô3€Mð �—’‘”ÒÐÐÐØ�—’‘”ÒÐÐÐØ�—’Ñ!Ô!Ò!Ð!Ð!Ð!ð �J�rœy¨Ñ2Ô2Ô3Ò3Ð3Ð3Ð3Ø�J�rœy¨Ñ2Ô2Ô3Ò3Ð3Ð3Ð3Ø�M¥"¤)¨KÑ"8Ô"8Ô9Ò9Ð9Ð9Ð9Ð9Ð9r'   c                  ó€  — g d¢} t          dd¬¦  «        }|                     | ¦  «         d|j                             ¦   «         v sJ ‚t	          |j                             ¦   «         ¦  «        dk    sJ ‚d|_        |                     | ¦  «         d|j                             ¦   «         vsJ ‚t	          |j                             ¦   «         ¦  «        dk    sJ ‚d	|_        |                     | ¦  «         d|j                             ¦   «         vsJ ‚t	          |j                             ¦   «         ¦  «        dk    sJ ‚d S )
N©ÚabcÚdeaÚeatr   rä   ©rz   rå   r@   r‚   r*  rm  rw   )r   r¯   r²   rª   rµ   rå   ©r?  r»   s     r%   Útest_vectorizer_max_dfr†    sA  € Ø%Ð%Ð%€IÝ F°3Ð7Ñ7Ô7€DØ‡H‚HˆYÑÔÐØ�$Ô"×'Ò'Ñ)Ô)Ð)Ð)Ð)Ð)ÝˆtÔ×$Ò$Ñ&Ô&Ñ'Ô'¨1Ò,Ð,Ð,Ð,à€D„KØ‡H‚HˆYÑÔÐØ�dÔ&×+Ò+Ñ-Ô-Ð-Ð-Ð-Ð-ÝˆtÔ×$Ò$Ñ&Ô&Ñ'Ô'¨1Ò,Ð,Ð,Ð,à€D„KØ‡H‚HˆYÑÔÐØ�dÔ&×+Ò+Ñ-Ô-Ð-Ð-Ð-Ð-ÝˆtÔ×$Ò$Ñ&Ô&Ñ'Ô'¨1Ò,Ð,Ð,Ð,Ð,Ð,r'   c                  ó€  — g d¢} t          dd¬¦  «        }|                     | ¦  «         d|j                             ¦   «         v sJ ‚t	          |j                             ¦   «         ¦  «        dk    sJ ‚d|_        |                     | ¦  «         d|j                             ¦   «         vsJ ‚t	          |j                             ¦   «         ¦  «        dk    sJ ‚d	|_        |                     | ¦  «         d|j                             ¦   «         vsJ ‚t	          |j                             ¦   «         ¦  «        dk    sJ ‚d S )
Nr€  r   rw   )rz   Úmin_dfr@   r‚   rx   r  gš™™™™™é?)r   r¯   r²   rª   rµ   rˆ  r…  s     r%   Útest_vectorizer_min_dfr‰  *  sA  € Ø%Ð%Ð%€IÝ F°1Ð5Ñ5Ô5€DØ‡H‚HˆYÑÔÐØ�$Ô"×'Ò'Ñ)Ô)Ð)Ð)Ð)Ð)ÝˆtÔ×$Ò$Ñ&Ô&Ñ'Ô'¨1Ò,Ð,Ð,Ð,à€D„KØ‡H‚HˆYÑÔÐØ�dÔ&×+Ò+Ñ-Ô-Ð-Ð-Ð-Ð-ÝˆtÔ×$Ò$Ñ&Ô&Ñ'Ô'¨1Ò,Ð,Ð,Ð,à€D„KØ‡H‚HˆYÑÔÐØ�dÔ&×+Ò+Ñ-Ô-Ð-Ð-Ð-Ð-ÝˆtÔ×$Ò$Ñ&Ô&Ñ'Ô'¨1Ò,Ð,Ð,Ð,Ð,Ð,r'   c                  ó"  — ddg} t          dd¬¦  «        }|                     | ¦  «                             ¦   «         }t          g d¢|                     ¦   «         ¦  «         t          g d¢g d¢g|¦  «         t          ddd	¬
¦  «        }|                     | ¦  «                             ¦   «         }t          g d¢g d¢g|¦  «         t          ddd	t
          j        ¬¦  «        }|                     | ¦  «        }|j        t
          j        k    sJ ‚d S )NÚaaabcÚabbder   rä   r„  )r@   r  r  Údr*   )r�   rw   rw   r   r   )rw   rx   r   rw   rw   T)rz   rå   Úbinary)rw   rw   rw   r   r   )rw   rw   r   rw   rw   )rz   rå   rŽ  rW  )r   rÂ   r  r	   rò   r;  Úfloat32rW  )r?  r»   r¼   ÚX_sparses       r%   Útest_count_binary_occurrencesr‘  <  s  € à˜'Ð"€IÝ F°3Ð7Ñ7Ô7€DØ×Ò˜9Ñ%Ô%×-Ò-Ñ/Ô/€AÝÐ0Ð0Ð0°$×2LÒ2LÑ2NÔ2NÑOÔOÐOÝ˜˜˜¨¨¨Ð9¸1Ñ=Ô=Ð=õ  F°3¸tÐDÑDÔD€DØ×Ò˜9Ñ%Ô%×-Ò-Ñ/Ô/€AÝ˜˜˜¨¨¨Ð9¸1Ñ=Ô=Ð=õ  F°3¸tÍ2Ì:ÐVÑVÔV€DØ×!Ò! )Ñ,Ô,€HØŒ>�RœZÒ'Ð'Ð'Ð'Ð'Ð'r'   c                  óv  — ddg} t          ddd ¬¦  «        }|                     | ¦  «        }t          j        |dd…         j        ¦  «        dk    sJ ‚t          j        |dd	…         j        ¦  «        d	k    sJ ‚|j        t          j        k    sJ ‚t          ddd
d ¬¦  «        }|                     | ¦  «        }t          j        |j        ¦  «        dk    sJ ‚|j        t          j        k    sJ ‚t          ddd
d t          j        ¬¦  «        }|                     | ¦  «        }|j        t          j        k    sJ ‚d S )Nr‹  rŒ  Fr   )Úalternate_signrz   r  r   rw   r�   rx   T)rz   r“  rŽ  r  )rz   r“  rŽ  r  rW  )r   r³   r;  rZ  rY  rW  Úfloat64)r?  r»   r¼   s      r%   Útest_hashed_binary_occurrencesr•  P  sC  € à˜'Ð"€IÝ¨E¸FÈÐNÑNÔN€DØ�Š�yÑ!Ô!€AÝŒ6�!�A�a�C”&”+ÑÔ !Ò#Ð#Ð#Ð#ÝŒ6�!�A�a�C”&”+ÑÔ !Ò#Ð#Ð#Ð#ØŒ7•b”jÒ Ð Ð Ð õ Ø¨°dÀðñ ô €Dð 	�Š�yÑ!Ô!€AÝŒ6�!”&‰>Œ>˜QÒÐÐÐØŒ7•b”jÒ Ð Ð Ð õ Ø¨°dÀÍRÌZðñ ô €Dð 	�Š�yÑ!Ô!€AØŒ7•b”jÒ Ð Ð Ð Ð Ð r'   c                 óÚ  — t           } | ¦   «         }|                     |¦  «        }|                     |¦  «        }t          |t          ¦  «        sJ ‚|                     ¦   «         }t          ||¦  «        D ]j\  }}t          j        t          j	         ||¦  «        ¦  «        ¦  «        }t          j        t          j	        |¦  «        ¦  «        }t          ||¦  «         Œkt          j        |¦  «        sJ ‚|j        dk    sJ ‚|                     ¦   «         }	|                     |	¦  «        }
t          ||
¦  «        D ]9\  }}t          t          j        |¦  «        t          j        |¦  «        ¦  «         Œ:|                     ¦   «         }|                     |¦  «        }t          ||¦  «        D ]9\  }}t          t          j        |¦  «        t          j        |¦  «        ¦  «         Œ:d S )NÚcsr)rÃ   rÂ   r¶   r±   r¬   ro   Úzipr;  ÚsortÚuniquer	   r
   ÚissparseÚformatr  Útocsc)rE   rY  rô   Útransformed_dataÚinversed_dataÚanalyzeÚdocÚinversed_termsr¸   Útransformed_data2Úinversed_data2Úterms2Útransformed_data3Úinversed_data3Úterms3s                  r%   Ú!test_vectorizer_inverse_transformr©  j  sÓ  € õ €DØ�‘”€JØ!×/Ò/°Ñ5Ô5ÐØ×0Ò0Ð1AÑBÔB€MÝ�m¥TÑ*Ô*Ð*Ð*Ð*à×'Ò'Ñ)Ô)€GÝ" 4¨Ñ7Ô7ð 2ð 2Ñˆˆ^Ý”�œ	 ' '¨#¡,¤,Ñ/Ô/Ñ0Ô0ˆÝœ¥¤¨>Ñ!:Ô!:Ñ;Ô;ˆÝ˜5 .Ñ1Ô1Ð1Ð1åŒ?Ð+Ñ,Ô,Ð,Ð,Ð,ØÔ" eÒ+Ð+Ð+Ð+ð )×0Ò0Ñ2Ô2ÐØ×1Ò1Ð2CÑDÔD€NÝ˜]¨NÑ;Ô;ð <ð <‰ˆˆvÝ�2œ7 5™>œ>­2¬7°6©?¬?Ñ;Ô;Ð;Ð;ð )×.Ò.Ñ0Ô0ÐØ×1Ò1Ð2CÑDÔD€NÝ˜]¨NÑ;Ô;ð <ð <‰ˆˆvÝ�2œ7 5™>œ>­2¬7°6©?¬?Ñ;Ô;Ð;Ð;ð<ð <r'   c                  ó  — t           t          z   } dgt          t           ¦  «        z  dgt          t          ¦  «        z  z   }t          | |dd¬¦  «        \  }}}}t	          dt          ¦   «         fdt          ¦   «         fg¦  «        }dd	gd
dœ}t          ||dd¬¦  «        }|                     ||¦  «         	                    |¦  «        }	t          |	|¦  «         |j        dk    sJ ‚|j        j        d         }
|
j        dk    sJ ‚d S )Nr)  rw   gš™™™™™É?r   ©Ú	test_sizeÚrandom_stater»   Úsvc©rw   rw   rv   ©ÚhingeÚsquared_hinge)Úvect__ngram_rangeÚ	svc__lossr�   )Ún_jobsrß   rä   )r°   ÚNOTJUNK_FOOD_DOCSrµ   r   r   r   r   r   r¯   Úpredictr	   Úbest_score_Úbest_estimator_rÄ   r{   ©rY  Útargetr>  r?  Útarget_trainÚtarget_testÚpipelineÚ
parametersÚgrid_searchÚpredÚbest_vectorizers              r%   Ú-test_count_vectorizer_pipeline_grid_selectionrÃ  Š  s-  € åÕ-Ñ-€Dð ˆT•C�Ñ'Ô'Ñ'¨1¨#µÕ4EÑ0FÔ0FÑ*FÑF€Fõ 8HØˆf °!ð8ñ 8ô 8Ñ4€J�	˜<¨õ ˜&¥/Ñ"3Ô"3Ð4°u½i¹k¼kÐ6JÐKÑLÔL€Hð % fÐ-Ø/ðð €Jõ ˜x¨¸AÀ!ÐDÑDÔD€Kð �?Š?˜: |Ñ4Ô4×<Ò<¸YÑGÔG€DÝ�t˜[Ñ)Ô)Ð)ð
 Ô" cÒ)Ð)Ð)Ð)Ø!Ô1Ô=¸fÔE€OØÔ&¨&Ò0Ð0Ð0Ð0Ð0Ð0r'   c                  ó:  — t           t          z   } dgt          t           ¦  «        z  dgt          t          ¦  «        z  z   }t          | |dd¬¦  «        \  }}}}t	          dt          ¦   «         fdt          ¦   «         fg¦  «        }dd	gd
ddœ}t          ||d¬¦  «        }|                     ||¦  «         	                    |¦  «        }	t          |	|¦  «         |j        dk    sJ ‚|j        j        d         }
|
j        dk    sJ ‚|
j        dk    sJ ‚|
j        rJ ‚d S )Nr)  rw   gš™™™™™¹?r   r«  r»   r®  r¯  rv   )r4  r  r°  )r³  Ú
vect__normr´  )rµ  rä   r  )r°   r¶  rµ   r   r   r   r   r   r¯   r·  r	   r¸  r¹  rÄ   r{   r  r<  rº  s              r%   Ú'test_vectorizer_pipeline_grid_selectionrÆ  ®  sQ  € åÕ-Ñ-€Dð ˆT•C�Ñ'Ô'Ñ'¨1¨#µÕ4EÑ0FÔ0FÑ*FÑF€Fõ 8HØˆf °!ð8ñ 8ô 8Ñ4€J�	˜<¨õ ˜&¥/Ñ"3Ô"3Ð4°u½i¹k¼kÐ6JÐKÑLÔL€Hð % fÐ-Ø"Ø/ðð €Jõ ˜x¨¸AÐ>Ñ>Ô>€Kð �?Š?˜: |Ñ4Ô4×<Ò<¸YÑGÔG€DÝ�t˜[Ñ)Ô)Ð)ð
 Ô" cÒ)Ð)Ð)Ð)Ø!Ô1Ô=¸fÔE€OØÔ&¨&Ò0Ð0Ð0Ð0ØÔ 4Ò'Ð'Ð'Ð'ØÔ0Ð0Ð0Ð0Ð0Ð0r'   c                  ó*  — t           t          z   } dgt          t           ¦  «        z  dgt          t          ¦  «        z  z   }t          dt	          ¦   «         fdt          ¦   «         fg¦  «        }t          || |d¬¦  «        }t          |g d¢¦  «         d S )Nr)  rw   r»   r®  r�   )rß   r  )r°   r¶  rµ   r   r   r   r   r	   )rY  r»  r¾  Ú	cv_scoress       r%   Ú)test_vectorizer_pipeline_cross_validationrÉ  Õ  sŽ   € åÕ-Ñ-€Dð ˆT•C�Ñ'Ô'Ñ'¨1¨#µÕ4EÑ0FÔ0FÑ*FÑF€Få˜&¥/Ñ"3Ô"3Ð4°u½i¹k¼kÐ6JÐKÑLÔL€Hå ¨$°¸1Ð=Ñ=Ô=€IÝ�y / / /Ñ2Ô2Ð2Ð2Ð2r'   c                  ót  — d} t          ¦   «         }|                     | g¦  «        }|j        dk    sJ ‚t          d d¬¦  «        }|                     | g¦  «        }|j        dk    sJ ‚|j        |j        k    sJ ‚t          t          j        |j	        ¦  «        t          j        |j	        ¦  «        ¦  «         d S )Nuî   ÐœÐ°ÑˆÐ¸Ð½Ð½Ð¾Ðµ Ð¾Ð±ÑƒÑ‡ÐµÐ½Ð¸Ðµ â€” Ð¾Ð±ÑˆÐ¸Ñ€Ð½Ñ‹Ð¹ Ð¿Ð¾Ð´Ñ€Ð°Ð·Ð´ÐµÐ» Ð¸Ñ�ÐºÑƒÑ�Ñ�Ñ‚Ð²ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¸Ð½Ñ‚ÐµÐ»Ð»ÐµÐºÑ‚Ð°, Ð¸Ð·ÑƒÑ‡Ð°ÑŽÑ‰Ð¸Ð¹ Ð¼ÐµÑ‚Ð¾Ð´Ñ‹ Ð¿Ð¾Ñ�Ñ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ� Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚Ð¼Ð¾Ð², Ñ�Ð¿Ð¾Ñ�Ð¾Ð±Ð½Ñ‹Ñ… Ð¾Ð±ÑƒÑ‡Ð°Ñ‚ÑŒÑ�Ñ�.)rw   é   F)r  r“  )rw   i   )
r   rÂ   r´   r   r³   rU  r	   r;  r™  rY  )rï   r»   Ú	X_countedÚX_hasheds       r%   Útest_vectorizer_unicoderÎ  â  sÀ   € ð	1ð õ ÑÔ€DØ×"Ò" H :Ñ.Ô.€IØŒ?˜gÒ%Ð%Ð%Ð%å $°uÐ=Ñ=Ô=€DØ�~Š~˜x˜jÑ)Ô)€HØŒ>˜ZÒ'Ð'Ð'Ð'ð Œ=˜HœLÒ(Ð(Ð(Ð(õ •r”w˜yœ~Ñ.Ô.µ´¸¼Ñ0FÔ0FÑGÔGÐGÐGÐGr'   c                  ó  — ddg} t          | ¬¦  «        }|                     t          ¦  «        }|                     t          ¦  «        }t	          |                     ¦   «         |                     ¦   «         ¦  «         |j        sJ ‚d S )Nr¥   rb  r§   )r   rÂ   rÃ   r³   r   r  r<  )r¨   r»   ÚX_1ÚX_2s       r%   Ú+test_tfidf_vectorizer_with_fixed_vocabularyrÒ  ú  su   € à˜8Ð$€JÝ jÐ1Ñ1Ô1€DØ
×
Ò
�]Ñ
+Ô
+€CØ
�.Š.�Ñ
'Ô
'€CÝ˜cŸkšk™mœm¨S¯[ª[©]¬]Ñ;Ô;Ð;ØÔ!Ð!Ð!Ð!Ð!Ð!r'   c                  óŠ  — t          ¦   «         t          d¬¦  «        t          d¬¦  «        t          d¬¦  «        t          ¦   «         t          t          ¬¦  «        t          t          ¬¦  «        t          t          ¬¦  «                             t
          ¦  «        t          t          ¬	¦  «                             t
          ¦  «        t          ¦   «         t          t          ¬¦  «        t          ¦   «                              t
          ¦  «        g} | D ]°}t          j	        |¦  «        }t          j
        |¦  «        }t          |¦  «        |j        k    sJ ‚|                     ¦   «         |                     ¦   «         k    sJ ‚t          |                     t
          ¦  «        |                     t
          ¦  «        ¦  «         Œ±d S )
Nr4  r5  T)rŽ  rv   ©r{   rb   )rz   rH   )r   r   r   r4   r¯   r°   r,   r   ÚpickleÚdumpsÚloadsÚtypeÚ	__class__Ú
get_paramsr   rÂ   )Ú	instancesÚorigr$   Úcopys       r%   Útest_pickling_vectorizerrÞ    su  € åÑÔÝ˜tÐ$Ñ$Ô$Ý Ð&Ñ&Ô&Ý fÐ-Ñ-Ô-ÝÑÔÝ¥ZÐ0Ñ0Ô0Ý¥Ð.Ñ.Ô.Ý¥ZÐ0Ñ0Ô0×4Ò4µ^ÑDÔDÝ¥lÐ3Ñ3Ô3×7Ò7½ÑGÔGÝÑÔÝ¥Ð.Ñ.Ô.ÝÑÔ×Ò�nÑ-Ô-ð€Ið ð 
ð 
ˆÝŒL˜ÑÔˆÝŒ|˜A‰ŒˆÝ�D‰zŒz˜Tœ^Ò+Ð+Ð+Ð+Ø�ŠÑ Ô  D§O¢OÑ$5Ô$5Ò5Ð5Ð5Ð5Ý$Ø×Ò�~Ñ.Ô.Ø×Ò�~Ñ.Ô.ñ	
ô 	
ð 	
ð 	
ð
ð 
r'   Úfactoryc                 óÄ   — t          ¦   «         } | |¦  «        }d}t          j        t          j        |¦  «        ¦  «        } ||¦  «        } ||¦  «        }||k    sJ ‚dS )z_Tokenizers cannot be pickled
    https://github.com/scikit-learn/scikit-learn/issues/12833
    rJ   N)r   rÕ  r×  rÖ  )rß  ÚvecÚfunctionrq   Úroundtripped_functionrA   rO  s          r%   Útest_pickling_built_processorsrä    so   € õ Ñ
Ô
€CØˆw�s‰|Œ|€HØG€DÝ"œL­¬°hÑ)?Ô)?Ñ@Ô@ÐØˆx˜‰~Œ~€HØ"Ð" 4Ñ(Ô(€FØ�XÒÐÐÐÐÐr'   c                  ó  — t           j                             d¦  «        } t          j        g d¢¦  «        }t	          dd¦  «        D ]Å}t          |                      |dd¬¦  «        ¦  «        }t          |¬¦  «        }t          j	        t          j
        |¦  «        ¦  «        }|                     t          ¦  «         |                     t          ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         ŒÆd S ©Nr   ra  éd   r‹   F)Úsizer+   r§   )r;  ÚrandomÚRandomStateÚarrayÚranger©   Úchoicer   rÕ  r×  rÖ  r¯   rÃ   r	   rò   )ÚrngÚvocab_wordsÚxÚ	vocab_setrß   Úunpickled_cvs         r%   Ú-test_countvectorizer_vocab_sets_when_picklingró  4  sþ   € õ Œ)×
Ò
 Ñ
"Ô
"€CÝ”(ð
	
ð 
	
ð 
	
ñô €Kõ �1�c‰]Œ]ð 
ð 
ˆÝ˜Ÿ
š
 ;°QÀ˜
ÑFÔFÑGÔGˆ	Ý¨	Ð2Ñ2Ô2ˆÝ”|¥F¤L°Ñ$4Ô$4Ñ5Ô5ˆØ
�Š�}ÑÔÐØ×Ò�Ñ'Ô'Ð'ÝØ×$Ò$Ñ&Ô&¨×(JÒ(JÑ(LÔ(Lñ	
ô 	
ð 	
ð 	
ð
ð 
r'   c                  óZ  — t           j                             d¦  «        } t          j        g d¢¦  «        }t	          dd¦  «        D ]ä}t          ¦   «         }|                      |dd¬¦  «        }t	          dd¦  «        D ]}||||         <   Œt          |¬¦  «        }t          j	        t          j
        |¦  «        ¦  «        }|                     t          ¦  «         |                     t          ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         Œåd S ræ  )r;  ré  rê  rë  rì  r«   rí  r   rÕ  r×  rÖ  r¯   rÃ   r	   rò   )rî  rï  rð  Ú
vocab_dictrÜ   Úyrß   rò  s           r%   Ú.test_countvectorizer_vocab_dicts_when_picklingr÷  P  s%  € Ý
Œ)×
Ò
 Ñ
"Ô
"€CÝ”(ð
	
ð 
	
ð 
	
ñô €Kõ �1�c‰]Œ]ð 
ð 
ˆÝ‘V”Vˆ
Ø—
’
˜;¨Q¸�
Ñ>Ô>ˆÝ�q˜!‘”ð 	%ð 	%ˆAØ#$ˆJ�u˜Q”xÑ Ð Ý¨
Ð3Ñ3Ô3ˆÝ”|¥F¤L°Ñ$4Ô$4Ñ5Ô5ˆØ
�Š�}ÑÔÐØ×Ò�Ñ'Ô'Ð'ÝØ×$Ò$Ñ&Ô&¨×(JÒ(JÑ(LÔ(Lñ	
ô 	
ð 	
ð 	
ð
ð 
r'   c                  óÌ  — t          ¦   «                              t          ¦  «        } t          ¦   «                              | ¦  «        }t          j        |¦  «        }t          j        |¦  «        }t          |¦  «        |j	        k    sJ ‚t          |                     | ¦  «                             ¦   «         |                     | ¦  «                             ¦   «         ¦  «         d S r!   )r   rÂ   r°   r   r¯   rÕ  rÖ  r×  rØ  rÙ  r	   r  )r¼   rÜ  r$   rÝ  s       r%   Útest_pickling_transformerrù  m  s³   € ÝÑÔ×'Ò'­Ñ7Ô7€AÝÑÔ×!Ò! !Ñ$Ô$€DÝŒ�TÑÔ€AÝŒ<˜‰?Œ?€DÝ�‰:Œ:˜œÒ'Ð'Ð'Ð'Ý�t×)Ò)¨!Ñ,Ô,×4Ò4Ñ6Ô6¸×8JÒ8JÈ1Ñ8MÔ8M×8UÒ8UÑ8WÔ8WÑXÔXÐXÐXÐXr'   c                  ó|  — t          ¦   «                              t          ¦  «        } t          ¦   «                              | ¦  «        }t          ¦   «         }|j        |_        t          |                     | ¦  «                             ¦   «         |                     | ¦  «                             ¦   «         ¦  «         d S r!   )	r   rÂ   r°   r   r¯   r6  r	   r³   r  )r¼   rÜ  rÝ  s      r%   Útest_transformer_idf_setterrû  v  sŽ   € ÝÑÔ×'Ò'­Ñ7Ô7€AÝÑÔ×!Ò! !Ñ$Ô$€DÝÑÔ€DØ”	€D„IÝ�t—~’~ aÑ(Ô(×0Ò0Ñ2Ô2°D·N²NÀ1Ñ4EÔ4E×4MÒ4MÑ4OÔ4OÑPÔPÐPÐPÐPr'   c                  ó  — t          d¬¦  «        } |                      t          ¦  «         t          | j        d¬¦  «        }| j        |_        t          |                     t          ¦  «                             ¦   «         |                      t          ¦  «                             ¦   «         ¦  «         t          | j        d¬¦  «        }d}t          j	        t          |¬¦  «        5  | j        |_        d d d ¦  «         d S # 1 swxY w Y   d S )NTr7  ©r¨   r&  Fz+`idf_` cannot be set when `user_idf=False`.rÉ   )r   r¯   r°   r²   r6  r	   r³   r  r„   r…   rÍ   )rÜ  rÝ  rù   s      r%   Útest_tfidf_vectorizer_setterrþ  ~  s(  € Ý 4Ð(Ñ(Ô(€DØ‡H‚H�^ÑÔÐÝ dÔ&6ÀÐEÑEÔE€DØ”	€D„IÝØ�Š•~Ñ&Ô&×.Ò.Ñ0Ô0Ø�Š•~Ñ&Ô&×.Ò.Ñ0Ô0ñô ð õ
  dÔ&6ÀÐFÑFÔF€DØ;€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð ð Ø”IˆŒ	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Ã$C>Ã>DÄDc                  óF  — t          d¬¦  «        } |                      t          ¦  «         t          | j        d¬¦  «        }t	          | j        ¦  «        }dg|dz   z  }t          j        t          ¦  «        5  t          |d|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTr7  rý  rä   rw   r6  )
r   r¯   r°   r²   rµ   r6  r„   r…   rÍ   Úsetattr)r»   rÝ  Úexpected_idf_lenÚinvalid_idfs       r%   Ú%test_tfidfvectorizer_invalid_idf_attrr  Ž  sß   € Ý 4Ð(Ñ(Ô(€DØ‡H‚H�^ÑÔÐÝ dÔ&6ÀÐEÑEÔE€DÝ˜4œ9‘~”~ÐØ�%Ð+¨aÑ/Ñ0€KÝ	Œ•zÑ	"Ô	"ð +ð +Ý��f˜kÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   Á7BÂBÂBc                  ó¼   — g d¢} t          | ¬¦  «        }t          j        t          ¦  «        5  |                     g ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r@   r  r  r@   r@   r§   rø   rÒ   s     r%   Útest_non_unique_vocabr  ˜  s    € Ø%Ð%Ð%€EÝ eÐ,Ñ,Ô,€DÝ	Œ•zÑ	"Ô	"ð ð Ø�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ®AÁAÁAc                  ó�   — d} t           }d„ }t          j        || ¬¦  «        5   |¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nz?np.nan is an invalid document, expected byte or unicode string.c                  óf   — t          ¦   «         } |                      dt          j        dg¦  «         d S )Núhello worldúhello hello)r   rÂ   r;  Únan)Úhvs    r%   Úfuncz0test_hashingvectorizer_nan_in_docs.<locals>.func¥  s0   € ÝÑ Ô ˆØ
×Ò˜-­¬°Ð?Ñ@Ô@Ð@Ð@Ð@r'   rÉ   )rÍ   r„   r…   )r  Ú	exceptionr  s      r%   Ú"test_hashingvectorizer_nan_in_docsr  Ÿ  s§   € ð P€GÝ€IðAð Að Aõ 
Œ�y¨Ð	0Ñ	0Ô	0ð ð Øˆ‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   £;»?Á?c                  óp  — t          ddd ¬¦  «        } | j        sJ ‚|                      ddg¦  «                             ¦   «         }t	          |                     ¦   «         g d¢¦  «         |                      ddg¦  «                             ¦   «         }t	          |                     ¦   «         g d¢¦  «         d S )NTF)rŽ  r&  r  r  r	  )rw   rw   rw   r   )r   rŽ  rÂ   r  r	   Úravelr³   )rº   r¼   ré   s      r%   Útest_tfidfvectorizer_binaryr  ­  s£   € å˜t¨U¸Ð>Ñ>Ô>€AØŒ8€O€Oˆ8à	�Š˜¨Ð6Ñ7Ô7×?Ò?ÑAÔA€AÝ�q—w’w‘y”y , , ,Ñ/Ô/Ð/Ø	
�Š�m ]Ð3Ñ	4Ô	4×	<Ò	<Ñ	>Ô	>€BÝ�r—x’x‘z”z < < <Ñ0Ô0Ð0Ð0Ð0r'   c                  ó˜   — t          d¬¦  «        } |                      t          ¦  «         t          | j        | j        j        ¦  «         d S )NTr7  )r   r¯   r°   r   r6  rR  )r»   s    r%   Útest_tfidfvectorizer_export_idfr  ¸  sA   € Ý 4Ð(Ñ(Ô(€DØ‡H‚H�^ÑÔÐÝ˜dœi¨¬Ô)9Ñ:Ô:Ð:Ð:Ð:r'   c                  óÒ   — t          dg¬¦  «        } t          | ¦  «        }|                      t          ¦  «         |                     t          ¦  «         |j        | j        k    sJ ‚d S )Nr0  r§   )r   r   r¯   rÃ   r²   )Ú
vect_vocabÚvect_vocab_clones     r%   Útest_vectorizer_vocab_cloner  ¾  se   € Ý ¨U¨GÐ4Ñ4Ô4€JÝ˜ZÑ(Ô(ÐØ‡N‚N•=Ñ!Ô!Ð!Ø×Ò�Ñ'Ô'Ð'ØÔ'¨:Ô+AÒAÐAÐAÐAÐAÐAr'   c                 óþ  — d} | ¦   «         }t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ddg¦  «         t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzBIterable over raw text documents expected, string object received.rÉ   zhello world!ú	some textzsome other text)r„   r…   rÍ   rÂ   r¯   r³   )rE   r  rá  s      r%   Ú&test_vectorizer_string_object_as_inputr  Æ  s´  € ð S€GØ
ˆ*‰,Œ,€Cå	Œ•z¨Ð	1Ñ	1Ô	1ð *ð *Ø×Ò˜.Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ 
Œ•z¨Ð	1Ñ	1Ô	1ð  ð  Ø�Š�ÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  à‡G‚Gˆ[Ð+Ð,Ñ-Ô-Ð-å	Œ•z¨Ð	1Ñ	1Ô	1ð &ð &Ø�Š�nÑ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s5   ¨A
Á
AÁAÁ0BÂBÂBÃC2Ã2C6Ã9C6ÚX_dtypec                 óœ   — t          j        dd| d¬¦  «        }t          ¦   «                              |¦  «        }|j        |j        k    sJ ‚d S ©Né
   é N  é*   ©rW  r­  )r
   Úrandr   rÂ   rW  )r  r¼   ÚX_transs      r%   Útest_tfidf_transformer_typer$  Ø  sN   € åŒ�B˜ W¸2Ð>Ñ>Ô>€AÝÑ Ô ×.Ò.¨qÑ1Ô1€GØŒ=˜AœGÒ#Ð#Ð#Ð#Ð#Ð#r'   zcsc_container, csr_containerc                 ó>  — t          j        ddt          j        d¬¦  «        } | |¦  «        } ||¦  «        }t	          ¦   «                              |¦  «        }t	          ¦   «                              |¦  «        }t          ||¦  «         |j        |j        k    sJ ‚d S r  )r
   r"  r;  r”  r   rÂ   r   rœ  )Úcsc_containerÚcsr_containerr¼   ÚX_cscÚX_csrÚX_trans_cscÚX_trans_csrs          r%   Útest_tfidf_transformer_sparser,  ß  s›   € õ 	Œ�B˜¥R¤Z¸bÐAÑAÔA€AØˆM˜!ÑÔ€EØˆM˜!ÑÔ€Eå"Ñ$Ô$×2Ò2°5Ñ9Ô9€KÝ"Ñ$Ô$×2Ò2°5Ñ9Ô9€KÝ  ¨kÑ:Ô:Ð:ØÔ Ô!3Ò3Ð3Ð3Ð3Ð3Ð3r'   z0vectorizer_dtype, output_dtype, warning_expectedTFc                 óº  — t          j        g d¢¦  «        }t          | ¬¦  «        }d}|rIt          j        t
          |¬¦  «        5  |                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   nZt          j        ¦   «         5  t          j	        dt
          ¦  «         |                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   |j
        |k    sJ ‚d S )N)ÚnumpyÚscipyÚsklearn©rW  z'dtype' should be used.rÉ   r  )r;  rë  r   r„   r  r  rÂ   r  r  r  rW  )Úvectorizer_dtypeÚoutput_dtypeÚwarning_expectedr¼   rô   Úwarning_msg_matchÚX_idfs          r%   Útest_tfidf_vectorizer_typer7  í  s_  € õ 	ŒÐ.Ð.Ð.Ñ/Ô/€AÝ Ð'7Ð8Ñ8Ô8€Jà1ÐØð 0ÝŒ\�+Ð->Ð?Ñ?Ô?ð 	0ð 	0Ø×,Ò,¨QÑ/Ô/ˆEð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0øõ Ô$Ñ&Ô&ð 	0ð 	0ÝÔ! '­;Ñ7Ô7Ð7Ø×,Ò,¨QÑ/Ô/ˆEð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð Œ;˜,Ò&Ð&Ð&Ð&Ð&Ð&s$   ÁA(Á(A,Á/A,Â0CÃCÃ
Crá  )rx   rw   rÔ  c                 ó*  — | j         }t          j        d|› d�¦  «        }t          j        t
          |¬¦  «        5  |                      dg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          |¬¦  «        5  |                      dg¦  «         d d d ¦  «         n# 1 swxY w Y   t          | t          ¦  «        rLt          j        t
          |¬¦  «        5  |  
                    dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )NzInvalid value for ngram_range=z/ lower boundary larger than the upper boundary.rÉ   zgood news everyone)r{   ÚreÚescaper„   r…   rÍ   r¯   rÂ   r±   r   r³   )rá  Úinvalid_ranger  s      r%   Ú$test_vectorizers_invalid_ngram_ranger<    sæ  € ð ”O€MÝŒið	9¨ð 	9ð 	9ð 	9ñô €Gõ
 
Œ•z¨Ð	1Ñ	1Ô	1ð (ð (Ø�ŠÐ%Ð&Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 
Œ•z¨Ð	1Ñ	1Ô	1ð 2ð 2Ø×ÒÐ/Ð0Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ �#Õ(Ñ)Ô)ð 2ÝŒ]�:¨WÐ5Ñ5Ô5ð 	2ð 	2Ø�MŠMÐ/Ð0Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð2ð 2s5   »AÁA"Á%A"ÂB'Â'B+Â.B+Ã"DÄD
ÄD
c                 ó¨   — |                       ¦   «         }|                      ¦   «         }|                      ¦   «         }|                      |||¦  «        S r!   )rÞ   Úbuild_tokenizerr=  Ú_check_stop_words_consistency)Ú	estimatorr×   ÚtokenizeÚ
preprocesss       r%   r?  r?  !  sM   € Ø×)Ò)Ñ+Ô+€JØ×(Ò(Ñ*Ô*€HØ×-Ò-Ñ/Ô/€JØ×2Ò2°:¸zÈ8ÑTÔTÐTr'   c                  ó^  — d} d| z  }t          ¦   «         t          ¦   «         t          ¦   «         fD �]z}|                     g d¢¬¦  «         t	          j        t          |¬¦  «        5  |                     dg¦  «         d d d ¦  «         n# 1 swxY w Y   |`t	          j        t          |¬¦  «        5  t          |¦  «        du sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         5  t          j        dt          ¦  «         |                     dg¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        �J ‚|                     g d	¢¬¦  «         t	          j        t          |¬¦  «        5  |                     dg¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ|d S )
Nz\['and', 'll', 've'\]z}Your stop_words may be inconsistent with your preprocessing. Tokenizing the stop words generated tokens %s not in stop_words.)úyou'veÚyouúyou'llÚANDrÖ   rÉ   r  Fr  )rD  rE  rF  ÚblahrG  )r   r   r   rÝ   r„   r  r  rÂ   Ú_stop_words_idr?  r  r  r  )Úlstrr  rá  s      r%   Ú'test_vectorizer_stop_words_inconsistentrK  (  sº  € Ø#€Dð	'à)-ñ	.ð õ
  Ñ!Ô!¥?Ñ#4Ô#4Õ6GÑ6IÔ6IÐJð /ñ /ˆØ�ŠÐ"DÐ"DÐ"DˆÑEÔEÐEÝŒ\�+¨WÐ5Ñ5Ô5ð 	/ð 	/Ø×Ò˜}˜oÑ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð ÐÝŒ\�+¨WÐ5Ñ5Ô5ð 	?ð 	?Ý0°Ñ5Ô5¸Ð>Ð>Ð>Ð>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?õ Ô$Ñ&Ô&ð 	/ð 	/ÝÔ! '­;Ñ7Ô7Ð7Ø×Ò˜}˜oÑ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/õ -¨SÑ1Ô1Ð9Ð9Ð9ð 	�ŠÐ"LÐ"LÐ"LˆÑMÔMÐMÝŒ\�+¨WÐ5Ñ5Ô5ð 	/ð 	/Ø×Ò˜}˜oÑ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ùð#/ð /sH   Á'B
Â
B	ÂB	Â2CÃC	ÃC	Ã11D.Ä.D2	Ä5D2	Å=F Æ F$	Æ'F$	r'  c                 ó<  —  | dt           j        ¬¦  «        }t           j        }|j                             |¦  «        |_        |j                             |¦  «        |_        ddddœ}t          ¦   «                              ||¦  «        }||j        j        k    sJ ‚dS )zò
    Check that CountVectorizer._sort_features preserves the dtype of its sparse
    feature matrix.

    This test is skipped on 32bit platforms, see:
        https://github.com/scikit-learn/scikit-learn/pull/11295
    for more details.
    )r‹   r‹   r1  r   rw   rx   )zscikit-learnrV   zgreat!N)r;  Úint64ÚindicesÚastypeÚindptrr   Ú_sort_featuresrW  )r'  r¼   ÚINDICES_DTYPEr¨   ÚXss        r%   Ú7test_countvectorizer_sort_features_64bit_sparse_indicesrT  D  s•   € ð 	ˆ�f¥B¤HÐ-Ñ-Ô-€Aõ ”H€MØ”	× Ò  Ñ/Ô/€A„IØŒx�Š˜}Ñ-Ô-€A„Hà"#¨1¸Ð:Ð:€Jå	Ñ	Ô	×	)Ò	)¨!¨ZÑ	8Ô	8€Bà˜BœJÔ,Ò,Ð,Ð,Ð,Ð,Ð,r'   Ú	Estimatorc                 ó‚  — ddig} | ¦   «         }t          |¦  «        du sJ ‚ | d„ dg¬¦  «        }t          |¦  «        dk    sJ ‚t          |¦  «        �J ‚|                     |¦  «          G d„ d	| ¦  «        } |dg¬
¦  «        }t          |¦  «        dk    sJ ‚ | d„ dg¬¦  «        }t          |¦  «        du sJ ‚d S )Nrq   r  Tc                 ó   — | d         S ©Nrq   r3   ©rð  s    r%   ú<lambda>z?test_stop_word_validation_custom_preprocessor.<locals>.<lambda>g  s
   € ¨1¨V¬9€ r'   Úand)rc   r×   r  c                   ó   — e Zd Zd„ ZdS )úFtest_stop_word_validation_custom_preprocessor.<locals>.CustomEstimatorc                 ó   — d„ S )Nc                 ó   — | d         S rX  r3   rY  s    r%   rZ  zktest_stop_word_validation_custom_preprocessor.<locals>.CustomEstimator.build_preprocessor.<locals>.<lambda>o  s
   € ˜Q˜vœY€ r'   r3   )Úselfs    r%   r=  zYtest_stop_word_validation_custom_preprocessor.<locals>.CustomEstimator.build_preprocessorn  s   € Ø&Ð&Ð&r'   N)Ú__name__Ú
__module__Ú__qualname__r=  r3   r'   r%   ÚCustomEstimatorr]  m  s#   € € € € € ð	'ð 	'ð 	'ð 	'ð 	'r'   rd  rÖ   c                 óP   — t          j        d¦  «                             | ¦  «        S )Nz\w{1,})r9  ÚcompileÚfindall©r¡  s    r%   rZ  z?test_stop_word_validation_custom_preprocessor.<locals>.<lambda>u  s   € �bœj¨Ñ3Ô3×;Ò;¸CÑ@Ô@€ r'   )rn   r×   )r?  rÂ   )rU  rY  rá  rd  s       r%   Ú-test_stop_word_validation_custom_preprocessorri  ^  s*  € ð �[Ð!Ð"€Dà
ˆ)‰+Œ+€CÝ(¨Ñ-Ô-°Ð5Ð5Ð5Ð5à
ˆ)Ð!4Ð!4À%ÀÐ
IÑ
IÔ
I€CÝ(¨Ñ-Ô-°Ò8Ð8Ð8Ð8å(¨Ñ-Ô-Ð5Ð5Ð5Ø×Ò�dÑÔÐð'ð 'ð 'ð 'ð '˜)ñ 'ô 'ð 'ð ˆ/ e WÐ
-Ñ
-Ô
-€CÝ(¨Ñ-Ô-°Ò8Ð8Ð8Ð8à
ˆ)Ø@Ð@ÈeÈWðñ ô €Cõ )¨Ñ-Ô-°Ð5Ð5Ð5Ð5Ð5Ð5r'   zinput_type, err_type, err_msgÚfilenamer>   r\   z$'str' object has no attribute 'read'c                 ó¬   — dg}t          j        ||¬¦  «        5   | d„ |¬¦  «                             |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nú"this is text, not file or filenamerÉ   c                 ó*   — |                       ¦   «         S r!   r.   rY  s    r%   rZ  z.test_callable_analyzer_error.<locals>.<lambda>‡  s   €  Q§W¢W¡Y¤Y€ r'   ©rz   r]   )r„   r…   rÂ   )rU  Ú
input_typeÚerr_typerù   rY  s        r%   Útest_callable_analyzer_errorrq  z  sÁ   € ð 1Ð1€DÝ	Œ�x wÐ	/Ñ	/Ô	/ð Vð VØˆ	Ð.Ð.°jÐAÑAÔA×OÒOÐPTÑUÔUÐUðVð Vð Vñ Vô Vð Vð Vð Vð Vð Vð Vð Vøøøð Vð Vð Vð Vð Vð Vs   š"A	Á	AÁArz   c                 ó"   — t          | d¦  «        S )NÚr)Úopenrh  s    r%   rZ  rZ  “  s   € �T # s™^œ^€ r'   c                 ó*   — |                       ¦   «         S r!   )Úreadrh  s    r%   rZ  rZ  “  s   € ¸¿º¹¼€ r'   ro  c                 ó¾   — dg}t          j        t          t          f¦  «        5   | ||¬¦  «                             |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrl  rn  )r„   r…   ÚFileNotFoundErrorÚAttributeErrorrÂ   )rU  rz   ro  rY  s       r%   Ú&test_callable_analyzer_change_behaviorrz  Š  s½   € ð 1Ð1€DÝ	ŒÕ)­>Ð:Ñ	;Ô	;ð Kð KØˆ	˜8¨:Ð6Ñ6Ô6×DÒDÀTÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Ks   ¤!AÁAÁAc                 ó
  — d„ }|                       d¦  «        }|                     d¦  «         t          j        t          d¬¦  «        5   ||d¬¦  «                             |g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó    — t          d¦  «        ‚)NÚtesting)Ú	Exceptionrh  s    r%   rz   z6test_callable_analyzer_reraise_error.<locals>.analyzer¡  s   € Ý˜	Ñ"Ô"Ð"r'   zfile.txtzsample content
r}  rÉ   r\   rn  )ÚjoinÚwriter„   r…   r~  rÂ   )ÚtmpdirrU  rz   Úfs       r%   Ú$test_callable_analyzer_reraise_errorrƒ  œ  sé   € ð
#ð #ð #ð 	�Š�JÑÔ€AØ‡G‚GÐÑÔÐå	Œ•y¨	Ð	2Ñ	2Ô	2ð Fð FØˆ	˜8¨6Ð2Ñ2Ô2×@Ò@À!ÀÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fs   Á	"A8Á8A<Á?A<zjstop_words, tokenizer, preprocessor, ngram_range, token_pattern,analyzer, unused_name, ovrd_name, ovrd_msgrD  rF  r¯  r   z'stop_words'ú
'analyzer'ú	!= 'word'c                 ó*   — |                       ¦   «         S r!   r.   r#   s    r%   rZ  rZ  Á  ó   € �a—g’g‘i”i€ r'   z'tokenizer'c                 ó*   — |                       ¦   «         S r!   r.   r#   s    r%   rZ  rZ  Ì  r‡  r'   ú\w+rt   ú'token_pattern'zis not Nonec                 ó*   — |                       ¦   «         S r!   ©r"   r#   s    r%   rZ  rZ  Ø  r‡  r'   c                 ó*   — |                       ¦   «         S r!   rŒ  r#   s    r%   rZ  rZ  Û  r‡  r'   z'preprocessor'zis callablerv   c                 ó*   — |                       ¦   «         S r!   rŒ  r#   s    r%   rZ  rZ  æ  r‡  r'   z'ngram_range')	NNNr¯  r‰  r   rŠ  r„  r…  c
                 ó  — t           }
 | ¦   «         }|                     ||||||¬¦  «         d|›d|›d|	›�}t          j        t          |¬¦  «        5  |                     |
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r×   rn   rc   r{   rî   rz   zThe parameter z will not be used since ú rÉ   )r°   rÝ   r„   r  r  r¯   )rE   r×   rn   rc   r{   rî   rz   Úunused_nameÚ	ovrd_nameÚovrd_msgr>  r»   rÎ   s                r%   Útest_unused_parameters_warnr”  «  sð   € õr  €Jàˆ:‰<Œ<€DØ‡O‚OØØØ!ØØ#Øð ñ ô ð ð ð 	ˆˆØˆ	ˆ	Øˆð€Cõ
 
Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø�Š�ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA6Á6A:Á=A:zVectorizer, Xrw   rx   )rã   Úbarr�   )rã   Úbazc                 óŒ   —  | ¦   «         }t          |d¦  «        rJ ‚|                     |¦  «         t          |d¦  «        rJ ‚d S )NÚn_features_in_)r:  r¯   )rE   r¼   rô   s      r%   Útest_n_features_inr™    sU   € ð �‘”€JÝ�zÐ#3Ñ4Ô4Ð4Ð4Ð4Ø‡N‚N�1ÑÔÐÝ�zÐ#3Ñ4Ô4Ð4Ð4Ð4Ð4Ð4r'   c                  ó¦   — t          d¬¦  «        } |                      ddg¦  «        j        }|                      ddg¦  «        j        }||k    sJ ‚d S )Nrw   rr  ÚhelloÚworld)r   r¯   r²   )rá  Úvocab1Úvocab2s      r%   Ú)test_tie_breaking_sample_order_invariancerŸ  '  s]   € õ  qÐ
)Ñ
)Ô
)€CØ�WŠW�g˜wÐ'Ñ(Ô(Ô4€FØ�WŠW�g˜wÐ'Ñ(Ô(Ô4€FØ�VÒÐÐÐÐÐr'   c                  óz   — t          dd¬¦  «        } |                      dg¦  «        j        }|d         dk    sJ ‚d S )Ni@B )rx   r�   )rV  r{   z22pcs efuturer   )r   r³   rN  )ÚhashingrN  s     r%   Ú2test_nonnegative_hashing_vectorizer_result_indicesr¢  0  sB   € å¨7ÀÐGÑGÔG€GØ×Ò Ð 1Ñ2Ô2Ô:€GØ�1Œ:˜Š?ˆ?ˆ?ˆ?ˆ?ˆ?r'   c                 ó>   —  | ¦   «         }t          |d¦  «        rJ ‚dS )z0Check that vectorizers do not define set_output.Ú
set_outputN)r:  )rU  r�   s     r%   Ú'test_vectorizers_do_not_have_set_outputr¥  7  s+   € ð
 ˆ)‰+Œ+€CÝ�s˜LÑ)Ô)Ð)Ð)Ð)Ð)Ð)r'   c                 óš  — t          j        ddt          j        d¬¦  «        } | |¦  «        }|                     ¦   «         }t          ¦   «                              |¦  «        }|                     |d¬¦  «        }t          ||¦  «         ||usJ ‚|                     |d¬¦  «        }t          |¦  «        |u r||u sJ ‚nJ||usJ ‚|j
        |j
        u sJ ‚|j        j        |j        j        u sJ ‚|j        j        |j        j        u sJ ‚t          j        t           ¦  «        5  t          ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	zJCheck the behaviour of TfidfTransformer.transform with the copy parameter.r  r  r   r!  T)rÝ  FN)r
   r"  r;  r”  rÝ  r   r¯   r³   r   r   rP  rN  ÚbaserY  r„   r…   ÚAssertionError)r'  r¼   r)  ÚX_csr_originalÚtransformerÚX_transforms         r%   Útest_tfidf_transformer_copyr¬  @  s±  € õ 	Œ�B˜¥R¤Z¸bÐAÑAÔA€AØˆM˜!ÑÔ€Eð —Z’Z‘\”\€Nå"Ñ$Ô$×(Ò(¨Ñ/Ô/€Kà×'Ò'¨°DÐ'Ñ9Ô9€KÝ  ¨Ñ7Ô7Ð7Ø˜eÐ#Ð#Ð#Ð#à×'Ò'¨°EÐ'Ñ:Ô:€Kõ ˜EÑ"Ô" eÐ+Ð+Ø˜eÐ#Ð#Ð#Ð#Ð#à %Ð'Ð'Ð'Ð'ØÔ! U¤\Ð1Ð1Ð1Ð1ØÔ"Ô'¨5¬=Ô+=Ð=Ð=Ð=Ð=ØÔÔ$¨¬
¬Ð7Ð7Ð7Ð7å	Œ•~Ñ	&Ô	&ð <ð <Ý$ U¨NÑ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   Ä"E Å EÅErW  c                 ó¢   — d„ t          d¦  «        D ¦   «         }t          | ¬¦  «                             |¦  «        }|j        j        | k    sJ ‚dS )z˜Check that `idf_` has the same dtype as the input data.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/30016
    c                 óN   — g | ]"}t          t          j        ¦   «         ¦  «        ‘Œ#S r3   )ÚstrÚuuidÚuuid4)Ú.0Úis     r%   ú
<listcomp>z<test_tfidf_vectorizer_preserve_dtype_idf.<locals>.<listcomp>e  s&   € Ð3Ð3Ð3˜q��TŒZ‰\Œ\Ñ	Ô	Ð3Ð3Ð3r'   i † r1  N)rì  r   r¯   r6  rW  )rW  r¼   rô   s      r%   Ú(test_tfidf_vectorizer_preserve_dtype_idfrµ  ^  sW   € ð 	4Ð3¥E¨'¡N¤NÐ3Ñ3Ô3€AÝ  uÐ-Ñ-Ô-×1Ò1°!Ñ4Ô4€JØŒ?Ô  EÒ)Ð)Ð)Ð)Ð)Ð)r'   c                  ó\   — t          ¦   «         } |                      ¦   «         }|j        rJ ‚dS )z7Test that HashingVectorizer has requires_fit=False tag.N)r   Ú__sklearn_tags__Úrequires_fit)rô   Útagss     r%   Ú(test_hashing_vectorizer_requires_fit_tagrº  j  s3   € å"Ñ$Ô$€JØ×&Ò&Ñ(Ô(€DØÔ Ð Ð Ð Ð Ð r'   c                  ór   — t          d¬¦  «        } ddg}|                      |¦  «        }|j        dk    sJ ‚dS )z:Test that HashingVectorizer can transform without fitting.r  )rV  zThis is testzAnother test)rx   r  N)r   r³   r´   )rô   ró   rO  s      r%   Ú-test_hashing_vectorizer_transform_without_fitr¼  q  sH   € å"¨bÐ1Ñ1Ô1€JØ˜nÐ-€FØ×!Ò! &Ñ)Ô)€FØŒ<˜7Ò"Ð"Ð"Ð"Ð"Ð"r'   )�rÕ  r9  r°  r  Úcollectionsr   Úcollections.abcr   Ú	functoolsr   Úior   Ú	itertoolsr   r.  r;  r„   Únumpy.testingr   r	   r/  r
   Úsklearn.baser   Úsklearn.feature_extraction.textr   r   r   r   r   r   r   r   Úsklearn.model_selectionr   r   r   Úsklearn.pipeliner   Úsklearn.svmr   Úsklearn.utilsr   Úsklearn.utils._testingr   r   r   Úsklearn.utils.fixesr   r   r   r°   r¶  rÃ   r&   r,   r0   r4   rB   rD   ÚmarkÚparametrizerr   r|   r‰   r™   rž   r¢   r¾   rÇ   rÏ   rÓ   rá   ræ   rê   rö   rú   r  r  r  Úxfailr#  r'  rP  rS  r_  rk  rp  r~  r†  r‰  r‘  r•  r©  rÃ  rÆ  rÉ  rÎ  rÒ  rÞ  ro   r=  r>  rä  ró  r÷  rù  rû  rþ  r  r  r  r  r  r  r  r�  r”  r$  r,  Úint32rM  r7  r<  r?  rK  rT  ri  rx  ry  rq  Úparamrz  rƒ  r”  r™  rŸ  r¢  r¥  r¬  rµ  rº  r¼  r3   r'   r%   ú<module>rÐ     s5  ðØ €€€Ø 	€	€	€	Ø €€€Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð TÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ %Ð %Ð %Ð %Ð %Ð %Ø !Ð !Ð !Ð !Ð !Ð !Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ð
 IÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hð€ðÐ ð Ð!2Ñ2€ð,ð ,ð ,ð ð  ð  ðð ð ð$ð $ð $ð!0ð !0ð !0ðH.ð .ð .ð* „×Ò˜¨Ð9JÐ'KÑLÔLð: ð : ñ MÔLð: ðz ð  ð  ð<ð ð ð&&ð &ð &ð4&ð &ð &ð()ð )ð )ð.&ð &ð &ð*
+ð 
+ð 
+ð&ð &ð &ð$ð $ð $ð0ð 0ð 0ðEð Eð Eð&ð &ð &ð4ð 4ð 4ð&ð ð ð&)ð )ð )ð*<ð <ð <ðð ð ð  „×ÒØð	Mð ñ ô ð&ð &ñô ð&ð&ð ð ðdð dð dðN5ð 5ð 5ð:#>ð #>ð #>ðLD/ð D/ð D/ðN „×Ò˜¨¸Ð'IÑJÔJð>ð >ñ KÔJð>ð:ð :ð :ð4-ð -ð -ð$-ð -ð -ð$(ð (ð (ð(!ð !ð !ð4 „×Ò˜¨¸Ð'IÑJÔJð<ð <ñ KÔJð<ð>!1ð !1ð !1ðH$1ð $1ð $1ðN
3ð 
3ð 
3ðHð Hð Hð0"ð "ð "ð
ð 
ð 
ð6 „×ÒØàÔ&ØÔ*ØÔ'ðñô ð
ð 
ñô ð
ð
ð 
ð 
ð8
ð 
ð 
ð:Yð Yð YðQð Qð Qðð ð ð +ð +ð +ðð ð ðð ð ð1ð 1ð 1ð;ð ;ð ;ðBð Bð Bð „×ÒØ�? OÐ5FÐGñô ð&ð &ñô ð&ð „×Ò˜ R¤Z°´Ð$<Ñ=Ô=ð$ð $ñ >Ô=ð$ð „×ÒØ" G G¨N¸NÑ$KÔ$Kñô ð4ð 4ñô ð4ð „×ÒØ6à	Œ�2”:˜tÐ$Ø	Œ�2”:˜tÐ$Ø	Œ�R”Z Ð'Ø	Œ�R”Z Ð'ð	ñô ð'ð 'ñô ð'ð „×ÒØ	àÐ fÐ-Ñ-Ô-Øˆ FÐ+Ñ+Ô+Øˆ FÐ+Ñ+Ô+ðñô ð2ð 2ñô ð2ð(Uð Uð Uð/ð /ð /ð8 Ø„×Ò˜¨.Ñ9Ô9ð-ð -ñ :Ô9ñ „ð-ð0 „×ÒØ�/ ?Ð4EÐFñô ð6ð 6ñô ð6ð2 „×ÒØ�/ ?Ð4EÐFñô ð „×ÒØ#à	Ð&¨Ð+Ø	�Ð!GÐHðñô ðVð Vñô ñô ðVð „×ÒØàØØˆŒÐ&Ñ'Ô'ðñô ð „×ÒØÐ+Ð+Ð-CÐ-CÐDñô ð „×Ò˜¨°
Ð';Ñ<Ô<ðKð Kñ =Ô<ñô ñô ðKð „×ÒØ�/ ?Ð4EÐFñô ð	Fð 	Fñô ð	Fð „×ÒØ�?Ð$5°ÐGñô ð „×Òð	5ð
 �xÐ ØØØØØØØØð
	
ð ØÐØØØØØØØð
	
ð ØÐØØØØØØØð
	
ð ØØÐØØØÐØØØð
	
ð ØØØØØÐØØØð
	
ð
	
ðqCñIô IðTð ñUIô Iñô ðZð@ „×ÒØà	 Q¨qÐ1Ð1¸1ÀQÐ3GÐ3GÐHÐIØ	˜.Ð)ðñô ð5ð 5ñô ð5ðð ð ðð ð ð „×ÒØ�/ ?Ð4DÐFWÐXñô ð*ð *ñô ð*ð „×Ò˜¨.Ñ9Ô9ð<ð <ñ :Ô9ð<ð: „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð*ð *ñ <Ô;ð*ð!ð !ð !ð#ð #ð #ð #ð #r'   