ó
‡ˆ\c        
   @   s  d  d l  m Z d  d l Z d  d l Z d  d l m Z d  d l Z d  d l m	 Z	 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 d  d l m Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# e j$ j% d e j& e j' e j( g ƒ e j$ j% d e j& e j' e j( g ƒ d „  ƒ ƒ Z) e j$ j% d e j& e j' e j( g ƒ d  „  ƒ Z* d! „  Z+ d" „  Z, e j$ j% d# d$ d% d& g d' d( d& g g e j- d) d% d& g d* d( d& g g ƒ e j- d+ d, d- g d. d/ d- g g d0 e. ƒg d1 d2 d3 d4 g ƒd5 „  ƒ Z/ d6 „  Z0 e j$ j% d7 d' d& g d$ d& g g d' d$ g d& g g e j1 f e j- d% d( g d8 d( g g ƒ d% d8 g d( g g e j2 f e j- d, d- g d/ d- g g d0 e. ƒd, d/ g d- g g e j1 f e j- d, d- g d/ d- g g ƒ d, d/ g d- g g e j3 f g d1 d2 d3 d4 d9 g ƒd: „  ƒ Z4 e j$ j% d; e j- d. d+ g g d0 e. ƒj5 e j- d. d< g g d0 e. ƒj5 d. d+ d= g g e j1 f e j- d% d( g g d0 d> ƒj5 e j- d% d? g g d0 d> ƒj5 d% d( d8 g g e j6 f e j- d. d+ g g d0 e. ƒj5 e j- d. d< g g d0 e. ƒj5 e j- d. d+ d= g ƒ g e j1 f g d1 d4 d3 d@ g ƒdA „  ƒ Z7 dB „  Z8 dC „  Z9 dD „  Z: dE „  Z; dF „  Z< e j$ j% d# e j- d% e j= g g ƒ j5 e j- d. e j= g g d0 e. ƒj5 g d1 d3 d4 g ƒe j$ j% dG dH dI g ƒ dJ „  ƒ ƒ Z> e j$ j% d# d' d( d& g d$ d% d& g g e j- d) d( d& g dK d% d& g g ƒ e j- d. d/ d- g d+ d, d- g g d0 e. ƒg d1 d2 d3 d4 g ƒdL „  ƒ Z? e j$ j% d; e j- d. d+ g g d0 e. ƒj5 e j- d. d< g g d0 e. ƒj5 d. d+ d= g g e j1 f e j- d% d( g g d0 d> ƒj5 e j- d% d? g g d0 d> ƒj5 d% d( d8 g g e j6 f e j- d. d+ g g d0 e. ƒj5 e j- d. d< g g d0 e. ƒj5 e j- d. d+ d= g ƒ g e j1 f g d1 d4 d3 d@ g ƒdM „  ƒ Z@ dN „  ZA e j$ j% d# e j- d% e j= g g ƒ j5 e j- d. e j= g g d0 e. ƒj5 g d1 d3 d4 g ƒdO „  ƒ ZB dP „  ZC dQ „  ZD dR „  ZE dS „  ZF d S(T   iÿÿÿÿ(   t   divisionN(   t   sparse(   t   NotFittedError(   t   assert_array_equal(   t   assert_equal(   t   assert_raises(   t   assert_raises_regex(   t   assert_allclose(   t   ignore_warnings(   t   assert_warns(   t   assert_warns_message(   t   assert_no_warnings(   t   OneHotEncoder(   t   OrdinalEncoderc         C   s"   t  |  d ƒ r |  j ƒ  }  n  |  S(   Nt   toarray(   t   hasattrR   (   t   a(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyR      s    c          C   s½  d d d g d d d g g }  t  ƒ  } t d t t f ƒ ¯ | j |  ƒ j ƒ  } t | j d ƒ t | j	 t
 j d d d d d d d d d g	 ƒ d ƒ t | j d d d d	 g ƒ t | d
 d d
 d d g d d
 d d
 d g g ƒ Wd  QXt  d d ƒ } t d t ƒ F | j |  ƒ } t | j d d f ƒ t | j d d d d g ƒ Wd  QXt  d d d d g ƒ } t d t ƒ a d d d g d d d g g }  | j |  ƒ } t | j d d f ƒ t | j d d d g ƒ Wd  QXt
 j d d d g d d d g g ƒ }  | j |  ƒ d d d g d d d g g } t t | j | ƒ d } t t | | j | ƒ t d t ƒ ! t t t  d d ƒ j |  ƒ Wd  QXt t | j |  d  d  … d  d … f ƒ t d t ƒ . t t | j |  d  d  … d  d … f ƒ Wd  QXt d t ƒ $ t t t  d t
 j ƒ j |  ƒ Wd  QXt  ƒ  } t d t ƒ $ t t | j d g d g g ƒ Wd  QXt d t ƒ  | j d g d g g ƒ Wd  QXt t | j d g d g g ƒ d  S(   Ni   i   i   i    t   categoryi   i   i   i	   g        g      ð?t   n_valuesi   i   s:   unknown categorical feature present \[2\] during transformiÿÿÿÿ(   i   i   i   i   i   (   R   R   t   DeprecationWarningt   FutureWarningt   fit_transformR   R   t   shapeR   t   active_features_t   npt   wheret   feature_indices_t	   n_values_t   arrayt	   transformR   t
   ValueErrorR   t   fitt	   TypeErrort   int(   t   Xt   enct   X_transt   X_too_larget	   error_msg(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoder_sparse   sX    		/"')/"	%c          C   sú   d d d g d d d g g }  t  d t ƒ } t d t t f ƒ x | j |  ƒ } t | j d ƒ t | j	 t
 j d d d d d d d d d g	 ƒ d ƒ t | j d d d	 d
 g ƒ Wd  QXt | t
 j d d d d d g d d d d d g g ƒ ƒ d  S(   Ni   i   i   i    R   R   i   i   i   i	   g        g      ð?(   i   i   (   R   t   FalseR   R   R   R   R   R   R   R   R   R   R   R   (   R"   R#   R$   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoder_densee   s    	/"c             sø  x®d d d g d d d g g d d d g d d d g g g D]p}  t  ƒ  ‰  t t d	 ˆ  j |  ƒ t  ƒ  ‰  t t d	 ˆ  j |  ƒ t d
 t ƒ  ˆ  j |  ƒ j ƒ  } Wd  QXd d d d d g d d d d d g g } t | | ƒ t t	 ‡  f d †  ƒ t t	 ‡  f d †  ƒ t t	 ‡  f d †  ƒ t  d d ƒ ‰  t
 ˆ  j |  ƒ t  d d ƒ ‰  t
 ˆ  j |  ƒ ˆ  j |  ƒ j ƒ  } t | | ƒ t  d d d d ƒ ‰  t t	 ˆ  j |  ƒ q= Wt j d d g g d t ƒj }  t  d d ƒ ‰  t t	 ˆ  j |  ƒ d  S(   Ni   i   i   i    g      @g       @g      ð?g        s   handling of integerR   c              s   ˆ  j  S(   N(   R   (    (   R#   (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   <lambda>‰   s    c              s   ˆ  j  S(   N(   R   (    (   R#   (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyR*   Š   s    c              s   ˆ  j  S(   N(   R   (    (   R#   (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyR*   ‹   s    t
   categoriest   autoR   t   handle_unknownt   ignoret   cat1t   cat2t   dtypet   categorical_featurest   all(   R   R
   R   R   R   R   R   R   R	   R   R   R   R   t   objectt   T(   R"   R$   t   res(    (   R#   sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt(   test_one_hot_encoder_deprecationwarningsw   s6    %				!c          C   sØ   t  j d d g g ƒ j }  t  j d d g g ƒ j } t ƒ  } t d t ƒ  | j |  ƒ Wd  QX| j | ƒ } t  j d d g d d g g ƒ } t | j	 ƒ  | ƒ t d d ƒ } | j |  ƒ t
 t | j | ƒ d  S(   Ni   i   i    R   R+   R,   (   R   R   R5   R   R   R   R   R   R   R   R   R   (   R"   t   X2R#   R6   t   exp(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt(   test_one_hot_encoder_force_new_behaviourž   s    	!c         C   sx   t  d | ƒ } t d t t f ƒ  | j |  ƒ } Wd  QXt d t t f ƒ  | j |  ƒ j | ƒ } Wd  QX| | f S(   NR2   R   (   R   R   R   R   R   R   R   (   R"   R8   t   catR#   t   Xtrt   X2tr(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   _run_one_hot´   s    c   	      C   sÑ   t  j | ƒ d } t |  | | ƒ \ } } t |  | | ƒ \ } } t | j d | f ƒ t | j d | f ƒ t | j d | f ƒ t | j d | f ƒ t t | ƒ t | ƒ ƒ t t | ƒ t | ƒ ƒ d  S(   Ni    i   i   (   R   R   R>   R   R   R   R   (	   R"   R8   R;   t
   n_featurest   indt   At   Bt   Ct   D(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   _check_one_hotÀ   s    c          C   sæ   t  j d d d g d d d g g ƒ }  t  j d d d g g ƒ } t t t g } t |  | | d ƒ t t t g } t |  | | d ƒ t t t g } t |  | | d ƒ t d t d ƒ g d t t t g ƒ } t t | j	 |  ƒ d  S(	   Ni   i   i   i    i   i   R+   R2   (
   R   R   t   TrueR(   RE   R   t   rangeR   R   R   (   R"   R8   R;   t   oh(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt)   test_one_hot_encoder_categorical_featuresÐ   s    'c          C   sÌ   t  j d d d g d d d g d d d g g ƒ j }  t d d g d d	 ƒ } t d
 t ƒ  | j |  ƒ } Wd  QXt  j d d d g d d d g d d d g d d d g g ƒ j } t | j ƒ  | ƒ d  S(   Ni   i   i   i   i   i   R2   R-   R.   R   i    (	   R   R   R5   R   R   R   R   R   R   (   R"   RH   R6   t   expected(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt8   test_one_hot_encoder_categorical_features_ignore_unknownå   s    6Bc       
   C   s  t  j d d d g d d d g d d d g g ƒ }  t  j d d d g g ƒ } t d d ƒ } t t | j |  ƒ t t | j | ƒ t d d ƒ } | j |  ƒ | j	 ƒ  } t
 | j | ƒ j ƒ  t  j d	 d	 d	 d	 d
 d	 d	 g g ƒ ƒ t | | ƒ t d d ƒ } t t | j |  ƒ d  S(   Ni    i   i   i   i   R-   t   errorR.   g        g      ð?t   42(   R   R   R   R	   R   R   R   R   R   t   copyR   R   R   (   R"   R8   RH   t	   X2_passed(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt#   test_one_hot_encoder_handle_unknownñ   s    3(c          C   sc   t  j d g d g g ƒ }  t d d d g ƒ } d } t j t d | ƒ | j |  ƒ Wd  QXd  S(   NR   t   bR+   sn   This OneHotEncoder instance is not fitted yet. Call 'fit' with appropriate arguments before using this method.t   match(   R   R   R   t   pytestt   raisesR   R   (   R"   R#   t   msg(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoder_not_fitted
  s
    c          C   sÇ   t  j d d d g d d d g g d d ƒ}  t t t g } t d | ƒ } t d t t f ƒ  | j |  ƒ } Wd  QXt  j t ƒ  d d	 ƒ} t	 |  | ƒ t	 | j
 ƒ  | ƒ | j g  k sÃ t ‚ d  S(
   Ni   i   i   i    R1   t   float64R2   R   R4   (   R   R   R(   R   R   R   R   R   t   listR   t   get_feature_namest   categories_t   AssertionError(   R"   R;   R#   t   X_trt   expected_features(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt,   test_one_hot_encoder_no_categorical_features  s    -c          C   s¾   t  j d d d d g ƒ j d ƒ }  t  j d d g ƒ j d ƒ } t d d	 ƒ } | j |  ƒ | j ƒ  } t | j | ƒ j ƒ  t  j d
 d
 d
 d
 g d
 d d
 d
 g g ƒ ƒ t | | ƒ d  S(   Nt   11111111t   22t   333t   4444iÿÿÿÿi   t   55555R-   R.   g        g      ð?(   iÿÿÿÿi   (   iÿÿÿÿi   (	   R   R   t   reshapeR   R   RN   R   R   R   (   R"   R8   RH   RO   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt+   test_one_hot_encoder_handle_unknown_strings   s    $.t   output_dtypet   input_dtypec         C   sò   t  j d d g g d |  ƒj } t  j d d g d d g g d | ƒ} t d d d | ƒ } t | j | ƒ j ƒ  | ƒ t | j | ƒ j | ƒ j ƒ  | ƒ t d d d | d t	 ƒ } t | j | ƒ | ƒ t | j | ƒ j | ƒ | ƒ d  S(   Ni    i   R1   R+   R,   R   (
   R   t   asarrayR5   R   R   R   R   R   R   R(   (   Rg   Rf   R"   t
   X_expectedRH   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoder_dtype1  s    !'%c         C   s	  t  j d ƒ } | j i d d g d 6d d g d 6ƒ } t j d d d d g d d d d g g d	 |  ƒ} t d	 |  ƒ } t | j | ƒ j ƒ  | ƒ t | j	 | ƒ j
 | ƒ j ƒ  | ƒ t d	 |  d
 t ƒ } t | j | ƒ | ƒ t | j	 | ƒ j
 | ƒ | ƒ d  S(   Nt   pandasR   RQ   RA   i   i   RB   i    R1   R   (   RS   t   importorskipt	   DataFrameR   R   R   R   R   R   R   R   R(   (   Rf   t   pdt   X_dfRi   RH   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt!   test_one_hot_encoder_dtype_pandas@  s    )3%c          C   sÜ   t  j d d g g ƒ j }  t ƒ  } | j d d d d d g g ƒ | j ƒ  d d d d d g g k sn t ‚ | j |  ƒ j ƒ  j	 d k s’ t ‚ | j d d d d d d g g ƒ | j |  ƒ j ƒ  j	 d	 k sØ t ‚ d  S(
   Ni   i   R+   i    i   i   i   (   i   i   (   i   i   (
   R   R   R5   R   t
   set_paramst
   get_paramsR[   R   R   R   (   R"   RH   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoder_set_paramsP  s    	+$"c         C   st   t  d d ƒ } | j |  ƒ } t  d d d t ƒ } | j |  ƒ } t | j ƒ  | ƒ t j | ƒ sj t ‚ | j ƒ  S(   NR+   R,   R   (   R   R   R(   R   R   R   t   isspmatrix_csrR[   (   R"   R#   t   Xtr1t   Xtr2(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   check_categorical_onehot\  s    R"   t   defi   i7   t   abci   i
   i   RQ   RA   R;   R   RB   R1   t   idst   mixedt   numericR4   c         C   sð   t  t j |  ƒ d  d  … d g f ƒ } t | d d g d d g g ƒ t  t j |  ƒ d  d  … d d g f ƒ } t | d d d d g d d d d g g ƒ t d d ƒ j |  ƒ } t | j ƒ  d d d d d g d d d d d g g ƒ d  S(   Ni    i   R+   R,   (   Rw   R   R   R   R   R   R   (   R"   R<   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoderi  s    (++c          C   s“  xŒt  t g D]~}  d d d g d d d g d d d g g } t d |  ƒ } | j | ƒ } t j | d t ƒ} t | j | ƒ | ƒ d d g d d g d d g g } t d |  d	 d
 ƒ } | j | ƒ } t j | ƒ } t | j | ƒ | ƒ d d d g d d d g d d d g g } t d |  d d d	 d d g d d g d d d g g ƒ } | j | ƒ } t j | d t ƒ} d  | d <t | j | ƒ | ƒ d d g d d g d d g g } t d |  d	 d d g d d g g d d ƒ } | j | ƒ } t j | d t ƒ} d  | d <d  | d  d  … d f <t | j | ƒ | ƒ t j d d d g d d d g g ƒ } t
 j d ƒ } t t | | j | ƒ q Wd  S(   NRy   i   i7   Rx   i   i   R   R1   R+   R,   R-   R.   i6   i8   i    s)   Shape of the passed X data is not correct(   i   i   (   i   i    (   RF   R(   R   R   R   R   R4   R   t   inverse_transformt   Nonet   ret   escapeR   R   (   t   sparse_R"   R#   R\   R9   RU   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoder_inversey  s<    *!*
!$	
's   X, cat_exp, cat_dtypei   t   stringc         C   s²   x« |  |  d  d  d … g D] } t  d d ƒ } | j | ƒ t | j t ƒ sT t ‚ xS t | j | ƒ D]? \ } } | j ƒ  | k s‹ t ‚ t j	 | j
 | ƒ sg t ‚ qg Wq Wd  S(   NiÿÿÿÿR+   R,   (   R   R   t
   isinstanceRZ   RX   R[   t   zipt   tolistR   t
   issubdtypeR1   (   R"   t   cat_expt	   cat_dtypet   XiR#   R6   R9   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoder_categories¡  s    
 s   X, X2, cats, cat_dtypet   dt   ct   int64i   s   object-string-catc         C   s]  t  d | ƒ } t j d d d g d d d g g ƒ } t | j |  ƒ j ƒ  | ƒ t | j d ƒ t | d ƒ k s{ t ‚ | j	 d j
 ƒ  t | d ƒ k s¤ t ‚ | j	 d j | k sÀ t ‚ t  d | ƒ } t j t d d ƒ | j | ƒ Wd  QXt  d | d d ƒ } t j d d d g d d d g g ƒ } t | j | ƒ j | ƒ j ƒ  | ƒ d  S(	   NR+   g      ð?g        i    RR   s   Found unknown categoriesR-   R.   (   R   R   R   R   R   R   RX   R+   R[   RZ   R‡   R1   RS   RT   R   R   R   (   R"   R8   t   catsRŠ   R#   R9   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt)   test_one_hot_encoder_specified_categoriesµ  s    ))'c          C   sZ  t  j d d g g d t ƒj }  t d d d d g g ƒ } t  j d d d g d d d g g ƒ } t | j |  ƒ j |  ƒ j ƒ  | ƒ t | j	 |  ƒ j ƒ  | ƒ | j
 d j ƒ  d d d g k sÌ t ‚ t  j | j
 d j t  j ƒ sñ t ‚ t  j d	 d
 g g ƒ j }  t d d
 d	 d g g ƒ } d } t j t d | ƒ | j	 |  ƒ Wd  QXd  S(   NR   RQ   R1   R+   RŽ   g        g      ð?i    i   i   i   s%   Unsorted categories are not supportedRR   (   R   R   R4   R5   R   R   R   R   R   R   RZ   R‡   R[   Rˆ   R1   t   object_RS   RT   R   (   R"   R#   R9   RU   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt(   test_one_hot_encoder_unsorted_categoriesÕ  s    !%(%c          C   sD  t  j d d g d d g g d t ƒj }  t d d d d g d d d g g ƒ } t  j d	 d
 d
 d	 d
 d
 g d
 d	 d
 d
 d
 d	 g g ƒ } t | j |  ƒ j ƒ  | ƒ | j d j	 ƒ  d d d g k sÎ t
 ‚ t  j | j d j t  j ƒ só t
 ‚ | j d j	 ƒ  d d d g k st
 ‚ t  j | j d j t  j ƒ s@t
 ‚ d  S(   NR   RQ   i    i   R1   R+   RŽ   i   g      ð?g        (   R   R   R4   R5   R   R   R   R   RZ   R‡   R[   Rˆ   R1   R’   (   R"   R#   R9   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt7   test_one_hot_encoder_specified_categories_mixed_columnsè  s    *'(%(c          C   ss   t  j d ƒ }  |  j i d d g d 6d d g d 6ƒ } t | ƒ } t | d d d d g d d d d g g ƒ d  S(	   NRk   R   RQ   RA   i   i   RB   i    (   RS   Rl   Rm   Rw   R   (   Rn   Ro   R<   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoder_pandasö  s    )c          C   sM  t  ƒ  }  d d d d d g d d d d d g d d	 d
 d d g d d d d d g g } |  j | ƒ |  j ƒ  } t | t j ƒ sˆ t ‚ t d d d d d d d d d d d d d d d g | ƒ |  j d d d  d! d" g ƒ } t d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 g | ƒ t j	 t
 d2 d3 ƒ |  j d d g ƒ Wd  QXd  S(4   Nt   Malei   t   girli   i   t   Femalei)   i
   i3   t   boyi   i[   i   i   t	   x0_Femalet   x0_Malet   x1_1t   x1_41t   x1_51t   x1_91t   x2_boyt   x2_girlt   x3_1t   x3_2t   x3_12t   x3_21t   x4_3t   x4_10t   x4_30t   onet   twot   threet   fourt   fivet
   one_Femalet   one_Malet   two_1t   two_41t   two_51t   two_91t	   three_boyt
   three_girlt   four_1t   four_2t   four_12t   four_21t   five_3t   five_10t   five_30RR   s!   input_features should have length(   R   R   RY   R…   R   t   ndarrayR[   R   RS   RT   R   (   R#   R"   t   feature_namest   feature_names2(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt"   test_one_hot_encoder_feature_namesÿ  s.    			c          C   s‚   t  ƒ  }  t j d d g g d t ƒj } |  j | ƒ |  j ƒ  } t d d g | ƒ |  j d d g ƒ } t d d	 g | ƒ d  S(
   Nu   câ¤t1u   dat2R1   u	   x0_câ¤t1u   x0_dat2t   input_featuresu   nðŸ‘meu   nðŸ‘me_câ¤t1u   nðŸ‘me_dat2(   R   R   R   R4   R5   R   RY   R   (   R#   R"   R¾   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt*   test_one_hot_encoder_feature_names_unicode  s    	!R-   RL   R.   c         C   s·   t  d d d | ƒ } t j t d d ƒ | j |  ƒ Wd  QXt j t d d ƒ | j |  ƒ Wd  QX| j |  d  d … d  d  … f ƒ t j t d d ƒ | j |  ƒ Wd  QXd  S(   NR+   R,   R-   RR   s   Input contains NaNi   (   R   RS   RT   R   R   R   R   (   R"   R-   t   ohe(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt"   test_one_hot_encoder_raise_missing(  s    #i   c         C   s~   t  ƒ  } t j d d d g d d d g g d d ƒ} t | j |  ƒ | j d ƒ ƒ t  d d ƒ } t | j |  ƒ | ƒ d  S(   Ni    i   R1   R   RW   (   R   R   R   R   R   t   astype(   R"   R#   R9   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_ordinal_encoder;  s    	c         C   sê   t  d | ƒ } t j d g d g g ƒ } t | j |  ƒ | ƒ t | j d ƒ t | d ƒ k si t ‚ | j d j	 ƒ  t | d ƒ k s’ t ‚ | j d j
 | k s® t ‚ t  d | ƒ } t j t d d ƒ | j | ƒ Wd  QXd  S(   NR+   g        g      ð?i    RR   s   Found unknown categories(   R   R   R   R   R   RX   R+   R[   RZ   R‡   R1   RS   RT   R   R   (   R"   R8   R   RŠ   R#   R9   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt)   test_ordinal_encoder_specified_categoriesI  s    ))c          C   s·   d d d g d d d g g }  t  ƒ  } | j |  ƒ } t j |  d t ƒ} t | j | ƒ | ƒ t j d d d d g d d d d g g ƒ } t j d ƒ } t	 t
 | | j | ƒ d  S(	   NRy   i   i7   Rx   i   R1   i    s)   Shape of the passed X data is not correct(   R   R   R   R   R4   R   R~   R€   R   R   R   (   R"   R#   R\   R9   RU   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_ordinal_encoder_inversee  s    	-c         C   s«   t  ƒ  } t j t d d ƒ | j |  ƒ Wd  QXt j t d d ƒ | j |  ƒ Wd  QX| j |  d  d … d  d  … f ƒ t j t d d ƒ | j |  ƒ Wd  QXd  S(   NRR   s   Input contains NaNi   (   R   RS   RT   R   R   R   R   (   R"   RÃ   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt"   test_ordinal_encoder_raise_missingr  s    	#c          C   sI  t  d d ƒ }  t j d d d d g d d d d g g d d ƒ} xÿ t j d d g d	 d
 g g d d ƒt j d d g d	 d
 g g d d ƒt j d d g d d g g ƒ t j d d g d	 d g g d d ƒg D]m } |  j | ƒ t g  t d ƒ D] } |  j | j | j k ^ qö ƒ s$t ‚ t	 |  j
 | ƒ j ƒ  | ƒ qÓ Wd d g d	 d
 g g } |  j | ƒ t g  t d ƒ D]% } t j |  j | j t j ƒ ^ qyƒ s­t ‚ t	 |  j
 | ƒ j ƒ  | ƒ d d g d	 d g g } |  j | ƒ t g  t d ƒ D] } |  j | j d k ^ qþƒ s)t ‚ t	 |  j
 | ƒ j ƒ  | ƒ d  S(   NR+   R,   g      ð?g        R1   RW   i   i   i   i   R   R   RQ   RŽ   R   R4   (   R   R   R   R   R3   RG   RZ   R1   R[   R   R   R   Rˆ   t   integer(   R#   R9   R"   t   i(    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_encoder_dtypes„  s$    3'$.> >;c          C   su  t  j d ƒ }  t d d ƒ } t j d d d d g d d d d g g d d ƒ} |  j i d d	 g d
 6d d g d 6d d ƒ} | j | ƒ t g  t d	 ƒ D] } | j	 | j
 d k ^ q ƒ sÈ t ‚ t | j | ƒ j ƒ  | ƒ |  j i d d	 g d
 6d d g d 6ƒ } | j | ƒ t g  t d	 ƒ D] } | j	 | j
 d k ^ q*ƒ sUt ‚ t | j | ƒ j ƒ  | ƒ d  S(   NRk   R+   R,   g      ð?g        R1   RW   i   i   RA   i   i   RB   R   R   RQ   R4   (   RS   Rl   R   R   R   Rm   R   R3   RG   RZ   R1   R[   R   R   R   (   Rn   R#   R9   R"   RË   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_encoder_dtypes_pandas  s    3/;);c          C   s;   t  ƒ  }  d d g d d g g } t j j |  j | ƒ d  S(   NR–   i   R˜   i   (   R   R   t   testingR   R   (   R#   R"   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_one_hot_encoder_warning¯  s    	c          C   s'   d d l  m }  t t |  d d ƒd  S(   Niÿÿÿÿ(   t   CategoricalEncodert   encodingt   ordinal(   t   sklearn.preprocessingRÐ   R   t   RuntimeError(   RÐ   (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   test_categorical_encoder_stubµ  s    (G   t
   __future__R    R€   t   numpyR   t   scipyR   RS   t   sklearn.exceptionsR   t   sklearn.utils.testingR   R   R   R   R   R   R	   R
   R   RÓ   R   R   R   R'   R)   R7   R:   R>   RE   RI   RK   RP   RV   R^   Re   t   markt   parametrizet   int32t   float32RW   Rj   Rp   Rs   Rw   R   R4   R}   Rƒ   R’   RÊ   t   str_RŒ   R5   R   R‘   R“   R”   R•   RÀ   RÂ   t   nanRÄ   RÆ   RÇ   RÈ   RÉ   RÌ   RÍ   RÏ   RÕ   (    (    (    sH   lib/python2.7/site-packages/sklearn/preprocessing/tests/test_encoders.pyt   <module>   s¸   		F		'										$30		$0	(09$!'						
'''$0
'	''			