ó
‡ˆ\c        	   @   s  d  Z  d d l Z d d l Z d d l m Z d d l m Z d d l Z d d l m Z d d l	 Z
 d d l j Z d d l m Z d d l m Z m Z d d l m Z d d	 l m Z d d
 l m Z 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 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& d d l' m( Z( d d l) m* Z* d d l+ m, Z, d d l- m. Z. d d l/ m0 Z0 d d l1 m2 Z2 d d l3 m4 Z4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 m9 Z9 m: 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! „  ZA e jB jC d" e
 jD jD dX ƒ e jE d# d$ ƒ jF ƒ  g ƒ d% „  ƒ ZG d& „  ZH d' „  ZI d( „  ZJ e jB jC d) e
 jK eL f e
 jM d* f e
 jM eL f g ƒ e jB jC d+ e
 jN e jO g ƒ d, „  ƒ ƒ ZP e jB jC d- e
 jK eQ d. f e
 jK d* d/ f e
 jM eQ d. f e
 jM d0 d1 f e
 jM d2 d. f g ƒ e jB jC d+ e
 jN e jO g ƒ d3 „  ƒ ƒ ZR e d4 „  ƒ ZS d5 „  ZT d6 „  ZU d7 „  ZV d8 „  ZW d9 „  ZX d: „  ZY e jZ d; d< d= d> d? g ƒ d@ „  ƒ Z[ dA „  Z\ dB „  Z] dC „  Z^ dD „  Z_ dE „  Z` dF „  Za dG „  Zb dH „  Zc dI „  Zd dJ „  Ze dK „  Zf dL „  Zg dM „  Zh dN ei f dO „  ƒ  YZj dP ei f dQ „  ƒ  YZk e jB jl dR ƒ dS „  ƒ Zm e jB jC dT eQ eL g ƒ dU „  ƒ Zn dV „  Zo dW „  Zp d S(Y   s$   Tests for input validation functionsiÿÿÿÿN(   t   NamedTemporaryFile(   t   product(   t   importorskip(   t   __version__(   t   assert_falset   assert_equal(   t   assert_raises(   t   assert_raises_regex(   t   assert_no_warnings(   t   assert_warns_message(   t   assert_warns(   t   ignore_warnings(   t   SkipTest(   t   assert_array_equal(   t   assert_allclose_dense_sparse(   t   as_float_arrayt   check_arrayt   check_symmetric(   t	   check_X_y(   t
   deprecated(   t   MockDataFrame(   t
   NotAnArray(   t   sparse_random_matrix(   t   ARDRegression(   t   KNeighborsClassifier(   t   RandomForestRegressor(   t   SVR(   t
   make_blobs(   t   has_fit_parametert   check_is_fittedt   check_consistent_lengtht   assert_all_finitet   check_memoryt   LARGE_SPARSE_SUPPORTEDt   _num_samples(   t   NotFittedError(   t   DataConversionWarning(   t   assert_raise_message(   t
   TempMemmapc          C   sO  t  j d
 d t  j ƒ}  |  t  j d d t  j ƒ}  t |  d t ƒ} t | j t  j ƒ |  j	 t  j
 ƒ }  t |  d t ƒ} t |  t ƒ |  k	 s˜ t ‚ t | j t  j ƒ t  j t  j t  j t  j t  j t  j t  j g } x< | D]4 } |  j	 | ƒ }  t |  ƒ } t | j t  j ƒ qâ W|  j	 t ƒ }  t |  d t ƒ} t | j t  j ƒ t  j d d t  j ƒ}  t |  d t ƒ|  k s„t ‚ t  j |  ƒ }  t  j t |  d t ƒƒ s´t ‚ t  j t  j d ƒ ƒ t j t  j d ƒ ƒ j ƒ  t d d d d ƒj ƒ  g } xF | D]> } t | d t ƒ} t  j | d <t t  j | ƒ j ƒ  ƒ q	Wd  S(   Ni   i
   t   dtypet   copyi   i   t   densitygš™™™™™¹?i    (   i   i
   (   i   i   (   i    i    (    t   npt   onest   int32t   arangeR   t   FalseR   R'   t   float32t   astypet   int64t   Truet   AssertionErrort   float64t   boolt   int8t   int16t   uint8t   uint16t   uint32t   objectt   asfortranarrayt	   isfortrant   matrixt   spt
   csc_matrixt   toarrayR   t   nanR   t   isnant   any(   t   Xt   X2t   tested_dtypesR'   t   matricest   Mt   N(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_as_float_array6   s:    !RE   i
   i   c         C   s=   t  j |  d <t  j |  d <t |  d d ƒ} t | |  ƒ d  S(	   Ni   i    i   i   t   force_all_finites	   allow-nan(   i   i    (   i   i   (   R*   RB   R   R   (   RE   t   X_converted(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_as_float_array_nanc   s    c          C   s…   t  j d ƒ j d d ƒ }  t t t |  ƒ t  j ƒ ƒ t t t t  j |  ƒ ƒ t  j ƒ ƒ t t t t j |  ƒ ƒ t  j ƒ ƒ d  S(   Ni   i   i   (	   R*   R-   t   reshapeR   t
   isinstanceR   R>   R?   R@   (   RE   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_np_matrixn   s    %c       
   C   sš   d „  }  t  d d ƒ | } t j | d d	 d t j ƒ} d | (xM t t j |  f D]9 } | | ƒ } d | (t | j ƒ  | j ƒ  ƒ d | (qS WWd  QXd  S(
   Nc         S   s   t  |  d t ƒS(   NR(   (   R   R.   (   t   x(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   <lambda>z   s    t   prefixs   sklearn-testt   shapei
   R'   i    i   (   i
   i
   (   R    R*   t   memmapR/   R   t   asarrayR   t   ravel(   t   asfltt   tmpRI   t   fRE   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_memmapw   s    	c          C   sï   t  j d
 ƒ }  x |  |  j f D]Œ } xƒ t t f D]u } t | d d d | ƒ} | j d sc t ‚ t | d d d | ƒ} | j d sŽ t ‚ | r2 t | | k ƒ q2 q2 Wq Wt	 j
 |  ƒ }  |  j d  d  d	 … |  _ t |  j j d ƒ d  S(   Ni
   i   t   ordert   CR(   t   C_CONTIGUOUSt   Ft   F_CONTIGUOUSiÿÿÿÿ(   i
   i   (   R*   R+   t   TR2   R.   R   t   flagsR3   R   R?   t
   csr_matrixt   data(   RE   t   AR(   t   B(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_ordering‡   s    s   value, force_all_finites	   allow-nant   retypec         C   s`   | t  j d ƒ j d d ƒ j t  j ƒ ƒ } |  | d <t | d | d t ƒ} t | | ƒ d  S(   Ni   i   i    RL   t   accept_sparse(   i    i    (   R*   R-   RO   R0   t   floatR   R2   R   (   t   valueRL   Ri   RE   t	   X_checked(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt'   test_check_array_force_all_finite_validš   s
    	-
	s"   value, force_all_finite, match_msgs   Input contains NaN, infinitys   Input contains infinitys	   allow-infs0   force_all_finite should be a bool or "allow-nan"i   c      
   C   sm   | t  j d ƒ j d d ƒ j t  j ƒ ƒ } |  | d <t j t d | ƒ t | d | d t	 ƒWd  QXd  S(   Ni   i   i    t   matchRL   Rj   (   i    i    (
   R*   R-   RO   R0   Rk   t   pytestt   raisest
   ValueErrorR   R2   (   Rl   RL   t	   match_msgRi   RE   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt(   test_check_array_force_all_finiteinvalidª   s
    -
c          C   si  d d g d d g g }  t  j |  ƒ } t t t | ƒ t d d d g d t ƒ} t | j d ƒ t t	 d t d d d g d t
 ƒt t	 d t d	 d t
 ƒt j d
 ƒ j d d d ƒ } t t	 t | ƒ t | d t
 ƒt j d ƒ j d d ƒ j d ƒ } | j d ƒ } | j t j ƒ } | j t j ƒ } | | | | g } t j t j t j t j d  t j t g }	 d d d  g }
 t
 t g } xSt | |	 |
 | ƒ D]<\ }  } } } t |  d | d | d | ƒ} | d  k	 rît | j | ƒ n t | j |  j ƒ | d k r4| j d s t ‚ t | j d ƒ n3 | d k rg| j d sSt ‚ t | j d ƒ n  | r€t |  | k ƒ qŸ|  j | j k rŸ| j d |  j d k rŸ| j d |  j d k rŸ|  | k sÛt ‚ qŸqŸWt  j | ƒ } | j ƒ  } | j ƒ  } | j t j ƒ } | j t j ƒ } | | | | | g } d d g d d g g } xt | |	 | | ƒ D]v\ }  } } } t j  d t
 ƒ % } t |  d | d | d | ƒ} Wd  QX| t k sÓt  j! |  ƒ rt" | ƒ rt# | d j$ ƒ } d d g } | | k s&t ‚ n t t" | ƒ d ƒ | d  k	 rEt | j | ƒ n t | j |  j ƒ |  j% | k r}t |  j% | j% ƒ n t | j% | d ƒ | rªt |  | k ƒ qm|  j | j k rm|  j% | j% k rm|  | k sãt ‚ qmqmWt d d g d d g g ƒ } t& | t j' ƒ st ‚ t t	 t | j( ƒ  ƒ t | j( ƒ  d t
 ƒt) | ƒ } t | ƒ } t& | t j' ƒ syt ‚ d } d d g d d g g } xa | t j* | d d ƒt j* | d d  ƒg D]2 }  t+ j, t- d! | ƒ t |  d d" ƒWd  QXqÅWd# d$ g d% d& g g } xO | t j* | d d' ƒg D]2 }  t+ j, t- d! | ƒ t |  d d" ƒWd  QXq/Wd  S((   Ni   i   i   i   i    t	   ensure_2ds'   Expected 2D array, got 1D array insteads+   Expected 2D array, got scalar array insteadi
   i   t   allow_ndR^   R`   R'   R]   R(   R_   Ra   t   csrt   coot   dokt   recordRj   s0   object dtype is not supported by sparse matricess-   Can't check dok sparse matrix for nan or inf.s/   converted to decimal numbers if dtype='numeric't   11t   12t   13t   xxt   Ut   SRo   t   numerict   at   bt   ct   dt   V1(.   R?   Rd   R   t	   TypeErrorR   R.   R   t   ndimR%   Rr   R2   R*   R-   RO   R(   R0   t   intRk   R,   R/   t   NoneR5   R;   R   R'   Rc   R3   R   R@   t   tocoot   todokt   warningst   catch_warningst   isspmatrix_dokt   lent   strt   messaget   formatRP   t   ndarrayt   tolistR   t   arrayRp   t   warnst   FutureWarning(   RE   t   X_csrt   X_arrayt   X_ndimt   X_Ct   X_Ft   X_intt   X_floatt   Xst   dtypest   orderst   copysR'   R]   R(   Rm   t   X_csct   X_coot   X_dokt   accept_sparsesRj   t   wR’   t   messagest   X_denset
   X_no_arrayt   resultt   expected_warn_regext   X_strt   X_bytes(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_check_array¿   s¤    	$*('	$4"c          C   s¬   t  j d d d g d d d g d d d	 g g d
 t  j ƒ}  t |  ƒ } t t | ƒ j j d ƒ t t | d t ƒj j d ƒ d | _ t t | d t ƒj j d ƒ d  S(   Ni   i   i   i   i   i   i   i   i	   R'   R[   Ru   t   Hans(	   R*   R–   R;   R   R   R   R'   t   kindR.   (   RE   t   X_df(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt/   test_check_array_pandas_dtype_object_conversion4  s    <	c          C   s“   t  j d d g d d g d d g d d g g ƒ }  t |  ƒ } t | ƒ } t | j |  j ƒ t | d t  j ƒ} t | j t  j t  j ƒ ƒ d  S(   Ngš™™™™™É?gffffffæ?g333333ã?g      à?gš™™™™™Ù?gš™™™™™¹?R'   (   R*   R–   R   R   R   R'   R/   (   t   arrt   mock_dft   checked_arr(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt"   test_check_array_on_mock_dataframe@  s    3	
c          C   sf   d d d g d d d g d d d	 g g }  t  t |  ƒ j j d
 ƒ t  t |  d t ƒj j d
 ƒ d  S(   Ni   i   i   i   i   i   i   i   i	   t   iRu   (   R   R   R'   R²   R.   (   RE   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt    test_check_array_dtype_stabilityJ  s    *c          C   s   d d d g d d d g d d d	 g g }  t  j |  d
 t  j ƒ} t  j |  d
 t  j ƒ} t  j |  d
 t  j ƒ} t j | ƒ } t j | ƒ } t j | ƒ } t j | d
 t  j ƒ} d d d g } | | g }	 | | g }
 | | | g } x|	 D]} t	 t
 | d
 t  j d t ƒ} t | j t  j ƒ t t t
 | d
 t  j d t d t ƒ} t | j t  j ƒ t t d t
 | d
 t  j t  j g d t d t d d ƒ} t | j t  j ƒ t t d t | | d
 t  j d t d t d t ƒ  ƒ\ } } t | j t  j ƒ qô Wx| |
 D]t } t	 t
 | d
 t  j d t d t ƒ} t | j t  j ƒ t	 t
 | d
 t  j d t d t ƒ} t | j t  j ƒ qWx° | D]¨ } t	 t
 | d
 t  j t  j g d t ƒ} t | j t  j ƒ | | k sÜt ‚ t	 t
 | d
 t  j t  j g d d d g d t ƒ} t | j t  j ƒ t | | k ƒ qŠWt	 t
 | d
 t  j t  j g d d d g d t ƒ} t | j t  j ƒ t | | k ƒ t | j d ƒ d  S(   Ni   i   i   i   i   i   i   i   i	   R'   i    Rj   t   warn_on_dtypet   SomeEstimatort	   estimatorR   Rw   Ry   R(   (   R*   RW   R4   R/   R1   R?   Rd   R@   R,   R   R   R2   R   R'   R
   R$   R	   R   R   R.   R3   R   R“   (   t
   X_int_listt	   X_float64t	   X_float32t   X_int64t   X_csr_float64t   X_csr_float32t   X_csc_float32t   X_csc_int32t   yt   integer_datat   float64_datat   float32_dataRE   Rm   t	   y_checked(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_check_array_dtype_warningQ  sv    *							c          C   s&  d d g d d g g }  t  j |  ƒ } t ƒ  } d } t t | t | d t ƒt j t	 ƒ  t t | t | d d  ƒWd  QXd } t t | j | ƒ t | d | ƒd } t t | j g  ƒ t | d g  ƒt t | j d
 ƒ t | d d ƒt t d	 t | d | g ƒt t	 t |  d d  ƒd  S(   Ni   i   i   i   sj   A sparse matrix was passed, but dense data is required. Use X.toarray() to convert to a dense numpy array.Rj   sj   Parameter 'accept_sparse' should be a string, boolean or list of strings. You provided 'accept_sparse={}'.s]   When providing 'accept_sparse' as a tuple or list, it must contain at least one string value.R   (    (    (   R?   Rd   R   R%   R‡   R   R.   Rp   R—   t   DeprecationWarningRŠ   Rr   R“   R
   (   RE   R™   t   invalid_typet   msg(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt-   test_check_array_accept_sparse_type_exception˜  s(    				c          C   sn   d d g d d g g }  t  j |  ƒ } t | d t ƒt | d d ƒt | d d g ƒt | d d ƒd  S(   Ni   i   i   i   Rj   Rw   (   Rw   (   R?   Rd   R   R2   (   RE   R™   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt+   test_check_array_accept_sparse_no_exception¸  s    t   paramsRw   t   cscRx   t   bsrc         c   su   t  j d d d |  j ƒ} xN d d d d g D]: } t | | ƒ r. t | | t | | ƒ j d ƒ ƒ q. q. W| Vd  S(	   Ni   i
   R“   t   indicest   indptrt   rowt   colR1   (   R?   t   randt   paramt   hasattrt   setattrt   getattrR0   (   t   requestRE   t   attr(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   X_64bitÂ  s
    )c         C   s#   t  r t |  d t d t ƒn  d  S(   Nt   accept_large_sparseRj   (   R!   R   R2   (   Rß   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt1   test_check_array_accept_large_sparse_no_exceptionË  s    c      	   C   s2   t  r. d } t t | t |  d t d t ƒn  d  S(   NsQ   Only sparse matrices with 32-bit integer indices are accepted. Got int64 indices.Rj   Rà   (   R!   R%   Rr   R   R2   R.   (   Rß   RÎ   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt4   test_check_array_accept_large_sparse_raise_exceptionÑ  s    		c         C   s0   t  s, d t } t t | t |  d d ƒn  d  S(   Ns]   Scipy version %s does not support large indices, please upgrade your scipy to 0.14.0 or aboveRj   RÒ   (   R!   t   scipy_versionR%   Rr   R   (   Rß   RÎ   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt:   test_check_array_large_indices_non_supported_scipy_versionÜ  s
    c       
   C   s»  d }  t  t |  t g  g ƒ d }  t  t |  t g  d t ƒd }  t  t |  t d d t ƒt j d ƒ } t j d ƒ } d }  t  t |  t | | d	 d
 ƒt  t |  t | | d	 d
 d t ƒt j d ƒ } t j d
 ƒ } d }  t  t |  t | | d d ƒt  t |  t | | d d d t ƒt j	 d ƒ j
 d d ƒ } t j d ƒ } d }  t  t |  t | | ƒ t j d ƒ } t j d ƒ } t | | d t ƒ\ } } t | | ƒ t | | ƒ d  S(   Ns=   0 feature(s) (shape=(1, 0)) while a minimum of 1 is required.s:   0 sample(s) (shape=(0,)) while a minimum of 1 is required.Ru   sB   Singleton array array(42) cannot be considered a valid collection.i*   i   i
   s=   1 sample(s) (shape=(1, 10)) while a minimum of 2 is required.t   ensure_min_samplesi   s>   2 feature(s) (shape=(10, 2)) while a minimum of 3 is required.t   ensure_min_featuresi   Rv   i    s>   0 feature(s) (shape=(10, 0)) while a minimum of 1 is required.i   (   i   i
   (   i
   i   (   i
   i    i   i   (   R%   Rr   R   R.   R‡   R*   R+   R   R2   t   emptyRO   R   (   RÎ   RE   RÆ   Rm   RÊ   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt2   test_check_array_min_samples_and_features_messagesæ  s:    c          C   sš  t  j d d d g d d d g g ƒ }  t t d t |  ƒ d d d g d d d g g }  t t d t |  ƒ d d d f d d d f f }  t t d t |  ƒ t  j d  d! d" g ƒ t  j d# d$ d% g ƒ g }  t t d t |  ƒ t  j d& d' d( g ƒ t  j d) d* d+ g ƒ f }  t t d t |  ƒ t t  j d, d- d. g d/ d0 d1 g g ƒ ƒ }  t t d t |  ƒ t j d d2 g d d g g ƒ }  t t d t |  ƒ d  S(3   Ni   y               @i   y              @i   y              @i   y              @i   y              @i   s   Complex data not supportedi    y      ð?       @y      @      @y      @      @y       @      @y      @      @y      @      @y      ð?       @y      @      @y      @      @y       @      @y      @      @y      @      @y      ð?       @y      @      @y      @      @y       @      @y      @      @y      @      @y      ð?       @y      @      @y      @      @y       @      @y      @      @y      @      @y      ð?       @y      @      @y      @      @y       @      @y      @      @y      @      @y      ð?       @y      @      @y      @      @y       @      @y      @      @y      @      @y      ð?       @(   R*   R–   R   Rr   R   R   R?   t
   coo_matrix(   RE   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt#   test_check_array_complex_data_error  s0    '*!c          C   s‡   t  t t d ƒ ƒ t t d ƒ s( t ‚ t t d ƒ s= t ‚ t t ƒ  d ƒ sU t ‚ d d d „  ƒ  Y}  t |  d ƒ sƒ t d ƒ ‚ d  S(   Nt   sample_weightt    TestClassWithDeprecatedFitMethodc           B   s    e  Z e d  ƒ d d „ ƒ Z RS(   s7   Deprecated for the purpose of testing has_fit_parameterc         S   s   d  S(   N(    (   t   selfRE   RÆ   Rë   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   fitJ  s    N(   t   __name__t
   __module__R   RŠ   Rî   (    (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyRì   I  s   	s=   has_fit_parameter fails for class with deprecated fit method.(    (   R   R   R   R   R3   R   (   Rì   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_has_fit_parameterC  s    c          C   si  t  j d d g d d g g ƒ }  t  j d ƒ } t  j d d g d d g g ƒ } i | d 6t j | ƒ d 6t j | ƒ d 6t j | ƒ d 6t j | ƒ d 6t j | ƒ d	 6t j	 | ƒ d
 6} t
 t t | ƒ x” | j ƒ  D]† \ } } t t t | ƒ t
 t t | d t ƒt | d t ƒ} t j | ƒ rTt | j | ƒ t | j ƒ  |  ƒ qÛ t | |  ƒ qÛ Wd  S(   Ni    i   i   t   denseRy   Rw   RÒ   Rx   t   lilRÓ   t   raise_exceptiont   raise_warning(   R*   R–   R+   R?   t
   dok_matrixRd   R@   Ré   t
   lil_matrixt
   bsr_matrixR   Rr   R   t   itemsR
   t   UserWarningR2   R.   t   issparseR   R“   R   RA   (   t   arr_symt   arr_badt   arr_asymt   test_arrayst
   arr_formatRµ   t   output(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_check_symmetricS  s&    !!
c          C   sX  t  t t t d ƒ t  t t d d ƒ t ƒ  }  t d d ƒ } y* t  t t |  d ƒ t  t t | d ƒ Wn# t k
 r t sŽ t d ƒ ‚ n Xy t |  d d ƒ Wn& t k
 rÊ } t	 t
 | ƒ d ƒ n Xy t | d d	 ƒ Wn& t k
 r} t	 t
 | ƒ d
 ƒ n X|  j t ƒ  Œ  | j t ƒ  Œ  t	 d  t |  d ƒ ƒ t	 d  t | d ƒ ƒ d  S(   Nt   coef_R   t   support_t   gammat   scales&   check_is_fitted failed with ValueErrors!   Random message %(name)s, %(name)ss+   Random message ARDRegression, ARDRegressions"   Another message %(name)s, %(name)ss   Another message SVR, SVR(   R   Rr   R   R   R‡   R   R#   R.   R3   R   R‘   t   AttributeErrorRî   R   RŠ   (   t   ardt   svrt   e(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_check_is_fittedq  s*    	c           C   s   t  d g d g d g d g d g ƒ t  d d g d d g g g d d g d d g ƒ t  d g d t j d g ƒ t j d ƒ ƒ t t d t  d d g d g ƒ t t d	 t  d d g d ƒ t t d
 t  d d g t ƒ  ƒ t	 t t  d d g t j d ƒ ƒ t t d t  d d g t
 ƒ  ƒ d  S(   Ni   i   i   i   i   R‚   Rƒ   s   inconsistent numbers of sampless   got <\w+ 'int'>s   got <\w+ 'object'>R½   (   i   (   i   i   (   R   R*   R–   R?   Rd   R   Rr   R‡   R;   R   R   (    (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_check_consistent_length‘  s    %1+			"c          C   s   yk d d  l  }  t j d d d g d d d g d d	 d
 g g ƒ } |  j | d d d d g ƒ} t | ƒ Wn t k
 rŠ t d ƒ ‚ n Xd  S(   Niÿÿÿÿi   i   i   i   i   i   i   i   i	   t   columnsR‚   Rƒ   Rî   s   Pandas not found(   t   pandasR*   R–   t	   DataFrameR   t   ImportErrorR   (   t   pdRE   R³   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt"   test_check_dataframe_fit_attribute£  s    3c          C   sf   t  j d t  j g ƒ }  t t t |  ƒ t j d t ƒ t |  ƒ t j d t	 ƒ t t t |  ƒ d  S(   Ni    t   assume_finite(
   R*   R–   t   infR   Rr   R   t   sklearnt
   set_configR2   R.   (   RE   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_suppress_validation¯  s    
c          C   s·   t  d ƒ }  t |  j d d d g ƒ d t d t ƒ} t | t j d d d g ƒ ƒ |  j d d d	 g ƒ j d
 ƒ } t | d d  d t ƒ} t | t j d d d	 g d t
 ƒƒ d  S(   NR  i   i   i   Ru   R»   R‚   Rƒ   R„   t   categoryR'   (   R   R   t   SeriesR.   R2   R   R*   R–   R0   RŠ   R;   (   R  t   rest   s(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_check_array_series¸  s    !	!c       	   C   sw  t  d ƒ }  |  j d d d g d d d g g d t ƒ} t t d	 t | d t j d
 t ƒt	 t t | d d d
 t ƒt
 t | d d d
 t ƒ|  j d d d g d d d g g ƒ } t	 t t | d t j d
 t ƒt	 t t | d d d
 t ƒt	 t t | d t d
 t ƒ|  j d d d g d d d g g ƒ } t	 t t | d d d
 t ƒt
 t | j t ƒ d d d
 t ƒd  S(   NR  i   i   i   i   i   i   R'   s;   Data with input dtype object were all converted to float64.R»   R   R;   t   1t   4g      ð?g      @(   R   R  R;   R	   R$   R   R*   R4   R2   R
   R   R0   R‰   (   R  t   dft   df_mixedt   df_mixed_numeric(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt#   test_check_dataframe_warns_on_dtypeÅ  s(    -''t   DummyMemoryc           B   s   e  Z d  „  Z RS(   c         C   s   | S(   N(    (   Rí   t   func(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   cacheæ  s    (   Rï   Rð   R%  (    (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyR#  å  s   t   WrongDummyMemoryc           B   s   e  Z RS(    (   Rï   Rð   (    (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyR&  ê  s   s   ignore:The 'cachedir' attributec          C   sª   t  d ƒ }  t |  j t j j d d ƒ ƒ t  d  ƒ }  t |  j d  ƒ t ƒ  } t  | ƒ }  |  | k sn t ‚ t	 t
 d t  d ƒ t ƒ  } t	 t
 d j | ƒ t  | ƒ d  S(   Nt   cache_directoryt   joblibsf   'memory' should be None, a string or have the same interface as joblib.Memory. Got memory='1' instead.i   sg   'memory' should be None, a string or have the same interface as joblib.Memory. Got memory='{}' instead.(   R    R   t   cachedirt   ost   patht   joinRŠ   R#  R3   R   Rr   R&  R“   (   t   memoryt   dummy(    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_check_memoryî  s    		
	R(   c         C   sx   t  j d ƒ } t | d d ƒQ } t | d |  ƒ} t  j | | ƒ |  k sU t ‚ | j d |  k sn t ‚ Wd  QXd  S(   Ni   t	   mmap_modet   rR(   t	   WRITEABLE(   i   i   (   R*   R+   R&   R   t   may_share_memoryR3   Rc   (   R(   RE   t   X_memmapRm   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   test_check_array_memmap  s
    c          C   s/   t  j d ƒ }  d  } t t d t |  | ƒ d  S(   Ni   s   y cannot be None(   i   i   (   R*   R+   RŠ   R%   Rr   R   (   RE   RÆ   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt    test_check_X_y_informative_error
  s    c          C   s>   d d d „  ƒ  Y}  |  ƒ  } t  | ƒ t | ƒ k s: t ‚ d  S(   Nt   TestNonNumericShapec           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   d |  _  d  S(   Ns   not numeric(   s   not numeric(   RU   (   Rí   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   __init__  s    c         S   s   t  d d d g ƒ S(   Ni   i   i   (   R   (   Rí   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   __len__  s    (   Rï   Rð   R8  R9  (    (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyR7    s   	(    (   R"   R   R3   (   R7  RE   (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt-   test_retrieve_samples_from_non_standard_shape  s    	(   i
   i   (q   t   __doc__R   R*  t   tempfileR    t	   itertoolsR   Rp   R   t   numpyR*   t   scipy.sparset   sparseR?   t   scipyR   Rã   t   sklearn.utils.testingR   R   R   R   R   R	   R
   R   R   R   R   t   sklearn.utilsR   R   R   R   R   t   sklearn.utils.mockingR   t   sklearn.utils.estimator_checksR   t   sklearn.random_projectionR   t   sklearn.linear_modelR   t   sklearn.neighborsR   t   sklearn.ensembleR   t   sklearn.svmR   t   sklearn.datasetsR   t   sklearn.utils.validationR   R   R   R   R    R!   R"   R  t   sklearn.exceptionsR#   R$   R%   R&   RK   t   markt   parametrizet   randomRØ   t   tocsrRN   RQ   R\   Rh   R  R.   RB   RW   Rd   Rn   R2   Rt   R°   R´   R¸   Rº   RË   RÏ   RÐ   t   fixtureRß   Rá   Râ   Rä   Rè   Rê   Rñ   R  R  R  R  R  R  R"  R;   R#  R&  t   filterwarningsR/  R5  R6  R:  (    (    (    sB   lib/python2.7/site-packages/sklearn/utils/tests/test_validation.pyt   <module>   s®   4		-	'					*	!
		!u		
		G	 	
'				
	6	'			 						 $		