ó
‡ˆ\c           @   s  d  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 m Z d d l	 Z
 d d l m Z d d l m 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 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 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 d d% l5 m6 Z6 d d& l7 m8 Z8 d' d g d d g d d' g d( d( g d( d) g d) d( g g Z9 d d d d( d( d( g Z: d d g d) d) g d* d) g g Z; d d( d( g Z< e& j= d+ d, d- d. d/ d* d0 d1 d2 d1 d3 e> d4 d1 ƒ \ Z? Z@ e& jA ƒ  ZB e4 d1 ƒ ZC eC jD eB jE jF ƒ ZG eB jH eG eB _H eB jE eG eB _E e& jI ƒ  ZJ eC jD eJ jE jF ƒ ZG eJ jH eG eJ _H eJ jE eG eJ _E e& jK d+ d5 d4 d( ƒ \ ZL ZM eL jN e
 jO ƒ ZL e jP jQ ƒ  d1 jR ZS i e* d6 6e, d7 6ZT i e+ d8 6e- d9 6ZU i e. d: 6ZV eW ƒ  ZX eX jY eT ƒ eX jY eU ƒ eX jY eV ƒ eT jZ ƒ  Z[ e[ jY eU ƒ d; „  Z\ e j] j^ d< eT ƒ d= „  ƒ Z_ d> „  Z` e j] j^ d< eT ƒ e j] j^ d? dš ƒ dB „  ƒ ƒ Za dC „  Zb e j] j^ d< eU ƒ e j] j^ d? d› ƒ dG „  ƒ ƒ Zc dH „  Zd e j] je dI ƒ e j] j^ d< eU ƒ dJ „  ƒ ƒ Zf dK „  Zg e j] j^ d< eT ƒ dL „  ƒ Zh dM „  Zi e j] j^ dN e
 jj e
 jO f ƒ e j] j^ dO e jk e eT d@ dA g ƒ e eU dD dF dE g ƒ ƒ ƒ dP „  ƒ ƒ Zl dQ „  Zm dR „  Zn e j] j^ d< eX ƒ dS „  ƒ Zo d5 dT „ Zp e j] j^ d< eT ƒ dU „  ƒ Zq e j] j^ d< eU ƒ dV „  ƒ Zr dW „  Zs e j] je dI ƒ e j] j^ d< eX ƒ dX „  ƒ ƒ Zt dY „  Zu e j] je dZ ƒ e j] je d[ ƒ e j] j^ d< eT ƒ d\ „  ƒ ƒ ƒ Zv d] „  Zw e j] j^ d< e[ ƒ d^ „  ƒ Zx d_ „  Zy e j] je dI ƒ e j] j^ d< e[ ƒ d` „  ƒ ƒ Zz da „  Z{ e j] je dI ƒ e j] j^ d< e[ ƒ db „  ƒ ƒ Z| dc „  Z} e j] je dI ƒ e j] j^ d< eT ƒ dd „  ƒ ƒ Z~ de „  Z df „  Z€ e# dg „  ƒ Z dh „  Z‚ di „  Zƒ dj „  Z„ dk „  Z… e j] j^ d< eX ƒ dl „  ƒ Z† dm „  Z‡ e j] je dI ƒ e j] j^ d< eX ƒ dn „  ƒ ƒ Zˆ do „  Z‰ e j] je dI ƒ e j] j^ d< eX ƒ dp „  ƒ ƒ ZŠ dq „  Z‹ e j] j^ d< eX ƒ dr „  ƒ ZŒ ds „  Z e j] je dI ƒ e j] j^ d< eX ƒ e j] j^ dt e e e f ƒ du „  ƒ ƒ ƒ ZŽ dv „  Z e j] je dI ƒ e j] j^ d< e[ ƒ e j] j^ dN e
 jj e
 jO f ƒ dw „  ƒ ƒ ƒ Z e# dx „  ƒ Z‘ e j] j^ d< eX ƒ dy „  ƒ Z’ dz „  Z“ e j] je dI ƒ e j] j^ d< eT ƒ d{ „  ƒ ƒ Z” d| „  Z• e j] je dI ƒ e j] j^ d< eT ƒ d} „  ƒ ƒ Z– d~ „  Z— e j] je dI ƒ e j] j^ d< eT ƒ d „  ƒ ƒ Z˜ d€ d „ Z™ e j] j^ d< eX ƒ d‚ „  ƒ Zš dƒ „  Z› e j] j^ d< eX ƒ d„ „  ƒ Zœ d… „  Z e j] j^ d< eX ƒ d† „  ƒ Zž d‡ „  ZŸ e j] j^ d< eX ƒ dˆ „  ƒ Z  d‰ „  Z¡ e j] j^ d< e[ ƒ dŠ „  ƒ Z¢ e j] je dI ƒ d‹ dŒ „ ƒ Z£ d „  Z¤ e j] j^ d< e[ ƒ dŽ „  ƒ Z¥ e j] je dI ƒ d „  ƒ Z¦ e j] je dI ƒ d „  ƒ Z§ e j] j^ d‘ e, e- e* e+ e. g ƒ d’ „  ƒ Z¨ d“ eS f d” „  ƒ  YZ© e d• e© ƒ e j] jª e e d– ƒ k  d— d˜ ƒe$ d™ „  ƒ ƒ Z« d S(œ   s:   
Testing for the forest module (sklearn.ensemble.forest).
iÿÿÿÿN(   t   defaultdict(   t   LooseVersion(   t   combinations(   t   product(   t
   csr_matrix(   t
   csc_matrix(   t
   coo_matrix(   t   joblib(   t   parallel_backend(   t   register_parallel_backend(   t   __version__(   t   assert_almost_equal(   t   assert_array_almost_equal(   t   assert_array_equal(   t   assert_equal(   t   assert_false(   t   assert_lesst   assert_greater(   t   assert_greater_equal(   t   assert_raises(   t   assert_warns(   t   assert_warns_message(   t   assert_no_warnings(   t   ignore_warnings(   t   skip_if_no_parallel(   t   datasets(   t   TruncatedSVD(   t   ExtraTreesClassifier(   t   ExtraTreesRegressor(   t   RandomForestClassifier(   t   RandomForestRegressor(   t   RandomTreesEmbedding(   t   GridSearchCV(   t	   LinearSVC(   t   check_random_state(   t   comb(   t   SPARSE_SPLITTERSiþÿÿÿi   i   i   t	   n_samplesiô  t
   n_featuresi
   t   n_informativet   n_redundanti    t
   n_repeatedt   shufflet   random_statei   R   R   R   R   R   c         C   sÞ   t  |  } | d d d d ƒ } | j t t ƒ t | j t ƒ t ƒ t d t	 | ƒ ƒ | d d d d d d ƒ } | j t t ƒ t | j t ƒ t ƒ t d t	 | ƒ ƒ | j
 t ƒ } t | j t	 t ƒ | j f ƒ d S(   s&   Check classification on a toy dataset.t   n_estimatorsi
   R+   i   t   max_featuresN(   t   FOREST_CLASSIFIERSt   fitt   Xt   yR   t   predictt   Tt   true_resultR   t   lent   applyt   shapeR,   (   t   namet   ForestClassifiert   clft   leaf_indices(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_classification_toyt   s    
R8   c         C   s   t  |  ƒ d  S(   N(   R<   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_classification_toy‡   s    c      	   C   sÚ   t  |  } | d d d | d d ƒ } | j t j t j ƒ | j t j t j ƒ } t | d d | | f ƒ | d d d | d d	 d d ƒ } | j t j t j ƒ | j t j t j ƒ } t | d
 d | | f ƒ d  S(   NR,   i
   t	   criterionR+   i   gÍÌÌÌÌÌì?s'   Failed with criterion %s and score = %fR-   i   g      à?(   R.   R/   t   irist   datat   targett   scoreR   (   R8   R>   R9   R:   RB   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_iris_criterionŒ   s    
	R>   t   ginit   entropyc         C   s   t  |  | ƒ d  S(   N(   RC   (   R8   R>   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt	   test_irisŸ   s    c      	   C   sÚ   t  |  } | d d d | d d ƒ } | j t j t j ƒ | j t j t j ƒ } t | d d | | f ƒ | d d d | d d	 d d ƒ } | j t j t j ƒ | j t j t j ƒ } t | d
 d | | f ƒ d  S(   NR,   i   R>   R+   i   g®Gázî?s:   Failed with max_features=None, criterion %s and score = %fR-   i   gffffffî?s7   Failed with max_features=6, criterion %s and score = %f(   t   FOREST_REGRESSORSR/   t   bostonR@   RA   RB   R   (   R8   R>   t   ForestRegressorR:   RB   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_boston_criterion¥   s    
	t   mset   maet   friedman_msec         C   s   t  |  | ƒ d  S(   N(   RJ   (   R8   R>   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_boston¸   s    c         C   s‘   t  |  d d ƒ } t t | d ƒ ƒ t t | d ƒ ƒ | j d d d g d d	 d
 g g d d g ƒ t t | d ƒ ƒ t t | d ƒ ƒ d  S(   NR+   i    t   classes_t
   n_classes_i   i   i   i   i   i   (   RG   R   t   hasattrR/   (   R8   t   r(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_regressor_attributes¾   s    .s(   ignore:The default value of n_estimatorsc         C   s   t  |  ƒ d  S(   N(   RS   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_regressor_attributesÉ   s    c         C   sÇ   t  |  } t j d d ƒ ¥ | d d d d d d d d ƒ } | j t j t j ƒ t t j | j	 t j ƒ d	 d ƒt j
 t j j d
 ƒ ƒ t | j	 t j ƒ t j | j t j ƒ ƒ ƒ Wd  QXd  S(   Nt   dividet   ignoreR,   i
   R+   i   R-   t	   max_deptht   axisi    (   R.   t   npt   errstateR/   R?   R@   RA   R   t   sumt   predict_probat   onesR7   t   expt   predict_log_proba(   R8   R9   R:   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_probabilityÏ   s    
	!c         C   s   t  |  ƒ d  S(   N(   R`   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_probabilityÜ   s    c         C   sÛ  t  j | d t ƒ} t j | d t ƒ} t |  } | d d d | d d ƒ } | j | | ƒ | j } t j | d k ƒ }	 t	 | j
 d d ƒ t	 |	 d ƒ t j | d  d k ƒ s½ t ‚ | j } | j d	 d
 ƒ | j }
 t | |
 ƒ t d ƒ j d d t | ƒ ƒ } | d d d d d | ƒ } | j | | d | ƒ| j } t j | d k ƒ sbt ‚ xr d d g D]d } | d d d d d | ƒ } | j | | d | | ƒ| j } t t j | | ƒ j ƒ  | ƒ qoWd  S(   Nt   copyR,   i
   R>   R+   i    gš™™™™™¹?i   t   n_jobsi   i   t   sample_weightg        g      à?id   (   t   X_larget   astypet   Falset   y_larget   FOREST_ESTIMATORSR/   t   feature_importances_RY   R[   R   R7   t   allt   AssertionErrort
   set_paramsR   R"   t   randintR5   R   t   abst   mean(   R8   R>   t   dtypet	   toleranceR0   R1   t   ForestEstimatort   estt   importancest   n_importantt   importances_parallelRd   t   scalet   importances_bis(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_importancesá   s4    
				!			Rq   s   name, criterionc         C   s>   d } | t  k r' | d k r' d } n  t | | |  | ƒ d  S(   Ng{®Gáz„?RL   gš™™™™™©?(   RG   Rz   (   Rq   R8   R>   Rr   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_importances	  s    	c    	         sY  d „  ‰  d „  ‰ ‡  ‡ f d †  }  t  j d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d	 g d d d d d d d d
 g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g g
 ƒ } t  j | d  d  … d  d … f d t  j ƒ| d  d  … d f } } | j d } t  j | ƒ } x* t | ƒ D] } |  | | | ƒ | | <q¯Wt d d d d d d d d ƒ j | | ƒ } t d „  | j	 Dƒ ƒ | j
 } t ˆ | ƒ t | ƒ ƒ t t  j | | ƒ j ƒ  d ƒ d  S(   Nc         S   s;   |  d k  s |  | k r d St  t | ƒ t |  ƒ d t ƒS(   Ni    t   exact(   R#   t   intt   True(   t   kt   n(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   binomial  s    c         S   sd   t  |  ƒ } d } xK t j |  ƒ D]: } d | | } | d k r" | | t j | ƒ 8} q" q" W| S(   Ng        g      ð?i    (   R5   RY   t   bincountt   log2(   t   samplesR%   RE   t   countt   p(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyRE     s    c            s   | j  \ } } t t | ƒ ƒ } | j |  ƒ g  t | ƒ D]% } t j | d  d  … | f ƒ ^ q; } d } x­t | ƒ D]Ÿ}	 d ˆ  |	 | ƒ | |	 }
 x{t | |	 ƒ D]j} xat g  t |	 ƒ D] } | | | ^ qÃ Œ  D]2} t j | d t j	 ƒ} x< t |	 ƒ D]. } | | d  d  … | | f | | k M} q	W| | d  d  … f | | } } t
 | ƒ } | d k rÞ g  } x? | |  D]3 } | d  d  … |  f | k } | j | | ƒ q…W| |
 d | | ˆ | ƒ t g  | D]  } ˆ | ƒ t
 | ƒ | ^ qáƒ 7} qÞ qÞ Wqª Wqy W| S(   Ng        g      ð?Rq   i    (   R7   t   listt   ranget   popRY   t   uniqueR   R   R]   t   boolR5   t   appendR[   (   t   X_mR0   R1   R%   R&   t   featurest   it   valuest   impR   t   coeft   Bt   jt   bt   mask_bt   X_t   y_t   n_samples_bt   childrent   xit   mask_xit   c(   R   RE   (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   mdi_importance*  s0    84,!?i    i   i   i   i   i   i   i   i   i	   Rq   R,   iô  R-   R>   RE   R+   c         s   s$   |  ] } | j  j d  t ƒ Vq d S(   t	   normalizeN(   t   tree_t   compute_feature_importancesRg   (   t   .0t   tree(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pys	   <genexpr>l  s   g{®Gáz„?(   RY   t   arrayR‹   R7   t   zerosRˆ   R   R/   R[   t   estimators_R,   R   R   Ro   Rp   (	   Rž   R@   R0   R1   R&   t   true_importancesR   R:   Ru   (    (   R   RE   sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_importances_asymptotic  s4    		(!$E	c         C   s$   t  t t t |  d d ƒ d ƒ d  S(   NR+   i    Rj   (   R   t
   ValueErrort   getattrRi   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt"   check_unfitted_feature_importancest  s    c         C   s   t  |  ƒ d  S(   N(   R«   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt!   test_unfitted_feature_importancesy  s    c         C   s?  t  |  d t d d d | d t ƒ } | j d } | j | d  | d … d  d  … f | | d  ƒ | j | | d d  … d  d  … f | | d ƒ } |  t k rÁ t t | | j ƒ d ƒ n  t	 | | j ƒ t	 | j d ƒ t
 j d	 d
 d d
 ƒ @ t  |  d t d d d d d t ƒ } t t | j | | ƒ Wd  QXd  S(   Nt	   oob_scoreR+   i    R,   t	   bootstrapi   gš™™™™™¹?gš™™™™™é?RU   RV   t   invalidi   (   Ri   R~   R7   R/   RB   R.   R   Ro   t
   oob_score_R   RY   RZ   R   t   UserWarning(   R8   R0   R1   R,   Rt   R%   t
   test_score(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_oob_score~  s    24c         C   sT   t  |  t j t j ƒ t  |  t t j ƒ t j ƒ t  |  t j t j d d ƒ d  S(   Ni   i   (   R³   R?   R@   RA   R   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_oob_score_classifiers–  s    c         C   s<   t  |  t j t j d ƒ t  |  t t j ƒ t j d ƒ d  S(   Ni2   (   R³   RH   R@   RA   R   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_oob_score_regressors¡  s    c         C   så   t  |  } |  t k r\ x' t t g D] } t t | d | ƒq# Wt t | ƒ  j t t	 ƒ n… x] t t f t t f t t f g D]: \ } } | d | d | d d ƒ } t
 t | d ƒ ƒ q~ Wt t | d t d t ƒ j t t	 ƒ d  S(   NR­   R®   R+   i    R°   (   Ri   t   FOREST_TRANSFORMERSR~   Rg   R   t	   TypeErrort   NotImplementedErrort   _set_oob_scoreR0   R1   R   RQ   R©   R/   (   R8   Rs   R­   R®   Rt   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_oob_score_raise_error©  s    
	c         C   s   t  |  ƒ d  S(   N(   Rº   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_oob_score_raise_errorÀ  s    c         C   sD   t  |  ƒ  } t | i d d 6d d 6ƒ } | j t j t j ƒ d  S(   Ni   i   R,   RW   (   i   i   (   i   i   (   R.   R    R/   R?   R@   RA   (   R8   t   forestR:   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_gridsearchÆ  s    s    ignore: The default of the `iid`s"   ignore: You should specify a valuec         C   s   t  |  ƒ d  S(   N(   R½   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_gridsearchÌ  s    c         C   sš   t  |  } | d d d d d d ƒ } | j | | ƒ t t | ƒ d ƒ | j d d ƒ | j | ƒ } | j d d ƒ | j | ƒ } t | | d ƒ d	 S(
   s-   Check parallel computations in classificationR,   i
   Rc   i   R+   i    i   i   N(   Ri   R/   R   R5   Rm   R2   R   (   R8   R0   R1   Rs   R¼   t   y1t   y2(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_parallelÔ  s    
c         C   sD   |  t  k r t } n |  t k r* t } n  t |  | j | j ƒ d  S(   N(   R.   R?   RG   RH   RÁ   R@   RA   (   R8   t   ds(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_parallelã  s
    		c   	      C   s’   t  |  } | d d ƒ } | j | | ƒ | j | | ƒ } t j | ƒ } t j | ƒ } t t | ƒ | j ƒ | j | | ƒ } t | | ƒ d  S(   NR+   i    (	   Ri   R/   RB   t   picklet   dumpst   loadsR   t   typet	   __class__(	   R8   R0   R1   Rs   t   objRB   t   pickle_objectt   obj2t   score2(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_pickleí  s    
c         C   s^   |  t  k r t } n |  t k r* t } n  t |  | j d  d  d … | j d  d  d … ƒ d  S(   Ni   (   R.   R?   RG   RH   RÍ   R@   RA   (   R8   RÂ   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_pickleü  s
    		c   	      C   s9  d d g d d g d d g d d g d d g d d g d d g d d g d d g d d g d d g d d g g } d d g d d g d d g d d g d d g d d g d d g d d g d d g d d g d d g d d g g } d d g d d g d d g d d g g } d d g d d g d d g d d g g } t  |  d d d t ƒ } | j | | ƒ j | ƒ } t | | ƒ |  t k r5t j d	 d
 ƒ ™ | j | ƒ } t	 t
 | ƒ d ƒ t	 | d j d ƒ t	 | d j d ƒ | j | ƒ } t	 t
 | ƒ d ƒ t	 | d j d ƒ t	 | d j d ƒ Wd  QXn  d  S(   Niþÿÿÿiÿÿÿÿi   i   i    i   R+   R®   RU   RV   i   (   i   i   (   i   i   (   i   i   (   i   i   (   Ri   Rg   R/   R2   R   R.   RY   RZ   R\   R   R5   R7   R_   (	   R8   t   X_traint   y_traint   X_testt   y_testRt   t   y_predt   probat	   log_proba(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_multioutput  s&    ?3?3**c         C   s   t  |  ƒ d  S(   N(   RÖ   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_multioutput"  s    c         C   sÇ   t  |  } | d d ƒ j t t ƒ } t | j d ƒ t | j d d g ƒ t j	 t t j
 t ƒ d f ƒ j } | d d ƒ j t | ƒ } t | j d d g ƒ t | j d d g d d g g ƒ d  S(   NR+   i    i   iÿÿÿÿi   iþÿÿÿ(   R.   R/   R0   R1   R   RP   R   RO   RY   t   vstackR¤   R3   (   R8   R9   R:   t   _y(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_classes_shape(  s    
%c         C   s   t  |  ƒ d  S(   N(   RÚ   (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_classes_shape:  s    c          C   sV   t  d d d t ƒ }  t j d d ƒ \ } } |  j | ƒ } t t | ƒ t j ƒ d  S(   NR,   i
   t   sparse_outputt   factorg      à?(	   R   Rg   R   t   make_circlest   fit_transformR   RÇ   RY   t   ndarray(   t   hasherR0   R1   t   X_transformed(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_random_trees_dense_type@  s    c          C   sƒ   t  d d d t d d ƒ }  t  d d d t d d ƒ } t j d d ƒ \ } } |  j | ƒ } | j | ƒ } t | j ƒ  | ƒ d  S(   NR,   i
   RÜ   R+   i    RÝ   g      à?(   R   Rg   R~   R   RÞ   Rß   R   t   toarray(   t   hasher_denset   hasher_sparseR0   R1   t   X_transformed_denset   X_transformed_sparse(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_random_trees_dense_equalM  s    		c          C   s  t  d d d d ƒ }  t j d d ƒ \ } } |  j | ƒ } t  d d d d ƒ }  t |  j | ƒ j | ƒ j ƒ  | j ƒ  ƒ t | j	 d | j	 d ƒ t | j
 d d ƒ |  j ƒ t d	 d
 ƒ } | j | ƒ } t ƒ  } | j | | ƒ t | j | | ƒ d ƒ d  S(   NR,   i   R+   i   RÝ   g      à?i    RX   t   n_componentsi   g      ð?(   R   R   RÞ   Rß   R   R/   t	   transformRä   R   R7   R[   R,   R   R!   RB   (   Rá   R0   R1   Râ   t   svdt	   X_reducedt
   linear_clf(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_random_hasher_  s    	c          C   sn   t  j d d ƒ \ }  } t d d d d ƒ } | j |  ƒ } | j t |  ƒ ƒ } t | j ƒ  | j ƒ  ƒ d  S(   NR+   i    R,   i   i   (   R   t   make_multilabel_classificationR   Rß   R   R   Rä   (   R0   R1   Rá   Râ   Rè   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_random_hasher_sparse_datax  s
    c       	   C   sô   t  d ƒ }  d \ } } |  j | | ƒ } |  j d d | ƒ } g  d d d d d	 d
 g D]- } t d d d | d d ƒ j | | ƒ ^ qX } |  j | | ƒ } g  | D] } | j | ƒ ^ q¤ }	 x. t |	 |	 d ƒ D] \ }
 } t |
 | ƒ qÓ Wd  S(   Ni!0  iP   i   i    i   i   i   i   i   i    R,   i   Rc   R+   i90  (   iP   i   (   R"   t   randnRn   R   R/   R\   t   zipR   (   t   rngR%   R&   RÏ   RÐ   Rc   t   clfsRÑ   R:   t   probast   proba1t   proba2(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_parallel_train€  s    I" c          C   s·  t  d ƒ }  |  j d d d d ƒ} |  j d ƒ } d } t d | d	 d
 ƒ j | | ƒ } t t ƒ } xO | j D]D } d j d „  t	 | j
 j | j
 j ƒ Dƒ ƒ } | | c d 7<qp Wt g  | j ƒ  D]  \ } } d | | | f ^ qÈ ƒ } t t | ƒ d ƒ t d | d d ƒ t d | d d ƒ t d | d d ƒ t d | d d ƒ t | d d d ƒ t | d d d ƒ t j d ƒ } t j j d d d ƒ | d  d  … d f <t j j d d d ƒ | d  d  … d f <|  j d ƒ } t d d d d d	 d ƒ j | | ƒ } t t ƒ } xO | j D]D } d j d „  t	 | j
 j | j
 j ƒ Dƒ ƒ } | | c d 7<q-Wg  | j ƒ  D] \ } } | | f ^ q‚} t t | ƒ d ƒ d  S(   Ni!0  i    i   t   sizeiè  i   iô  R,   R+   i*   t    c         s   s=   |  ]3 \ } } | d  k r1 d | t  | ƒ f n d Vq d S(   i    s   %d,%d/t   -N(   R}   (   R¢   t   ft   t(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pys	   <genexpr>ž  s   g      ð?i   gš™™™™™É?i   i   g333333Ó?s   0,1/0,0/--0,2/--id   R-   c         s   s=   |  ]3 \ } } | d  k r1 d | t  | ƒ f n d Vq d S(   i    s   %d,%d/Rü   N(   R}   (   R¢   Rý   Rþ   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pys	   <genexpr>¾  s   i   (   iè  i   (   iè  i   (   R"   Rn   t   randR   R/   R    R}   R¦   t   joinRó   R    t   featuret	   thresholdt   sortedt   itemsR   R5   R   RY   t   emptyt   random(   Rô   R0   R1   t   n_treesR:   t   uniquesR£   R…   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_distribution’  sD    !3((+c      	   C   s£   t  t } } t |  } | d d d d d d d d ƒ j | | ƒ } t | j d j j d ƒ | d d d d d d ƒ j | | ƒ } t | j d j j d ƒ d  S(   NRW   i   t   max_leaf_nodesi   R,   R+   i    (	   t   hastie_Xt   hastie_yRi   R/   R   R¦   R    RW   R   (   R8   R0   R1   Rs   Rt   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_max_leaf_nodes_max_depthÈ  s    
c         C   s   t  |  ƒ d  S(   N(   R  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_max_leaf_nodes_max_depthÖ  s    c         C   sŽ  t  t } } t |  } t t | d d ƒ j | | ƒ t t | d d ƒ j | | ƒ t t | d d ƒ j | | ƒ | d d d d d d ƒ } | j | | ƒ | j d j j d k } | j d j j	 | } t
 t j | ƒ t | ƒ d	 d d
 j |  ƒ ƒ | d d	 d d d d ƒ } | j | | ƒ | j d j j d k } | j d j j	 | } t
 t j | ƒ t | ƒ d	 d d
 j |  ƒ ƒ d  S(   Nt   min_samples_splitiÿÿÿÿi    gš™™™™™ñ?i
   R,   i   R+   g      à?s   Failed with {0}(   R  R  Ri   R   R©   R/   R¦   R    t   children_leftt   n_node_samplesR   RY   t   minR5   t   format(   R8   R0   R1   Rs   Rt   t   node_idxt   node_samples(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_min_samples_splitÛ  s*    
 	 c         C   s   t  |  ƒ d  S(   N(   R  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_min_samples_splitù  s    c         C   sq  t  t } } t |  } t t | d d ƒ j | | ƒ t t | d d ƒ j | | ƒ | d d d d d d ƒ } | j | | ƒ | j d j j | ƒ } t	 j
 | ƒ } | | d k } t t	 j | ƒ d d	 j |  ƒ ƒ | d d
 d d d d ƒ } | j | | ƒ | j d j j | ƒ } t	 j
 | ƒ } | | d k } t t	 j | ƒ t | ƒ d
 d d	 j |  ƒ ƒ d  S(   Nt   min_samples_leafiÿÿÿÿi    i   R,   i   R+   i   s   Failed with {0}g      Ð?(   R  R  Ri   R   R©   R/   R¦   R    R6   RY   R‚   R   R  R  R5   (   R8   R0   R1   Rs   Rt   t   outt   node_countst
   leaf_count(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_min_samples_leafÿ  s*    
	 c         C   s   t  |  ƒ d  S(   N(   R  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_min_samples_leaf  s    c         C   s(  t  t } } t |  } t j j d ƒ } | j | j d ƒ } t j | ƒ } xÓ t j	 d d d ƒ D]¼ } | d | d d d d ƒ } d |  k r t
 | _ n  | j | | d	 | ƒ| j d j j | ƒ }	 t j |	 d
 | ƒ}
 |
 |
 d k } t t j | ƒ | | j d j |  | j ƒ ƒ qd Wd  S(   Ni    g      à?i   t   min_weight_fraction_leafR,   i   R+   t   RandomForestRd   t   weightss,   Failed with {0} min_weight_fraction_leaf={1}(   R  R  Ri   RY   R  t   RandomStateRÿ   R7   R[   t   linspaceRg   R®   R/   R¦   R    R6   R‚   R   R  R  R  (   R8   R0   R1   Rs   Rô   R   t   total_weightt   fracRt   R  t   node_weightst   leaf_weights(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_min_weight_fraction_leaf%  s&    
	
c         C   s   t  |  ƒ d  S(   N(   R'  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_min_weight_fraction_leafD  s    c         C   sn  t  |  } | d d d d ƒ j | | ƒ } | d d d d ƒ j | | ƒ } t | j | ƒ | j | ƒ ƒ |  t k sƒ |  t k r¸ t | j | ƒ | j | ƒ ƒ t | j | j ƒ n  |  t k rt | j | ƒ | j | ƒ ƒ t | j	 | ƒ | j	 | ƒ ƒ n  |  t
 k rjt | j | ƒ j ƒ  | j | ƒ j ƒ  ƒ t | j | ƒ j ƒ  | j | ƒ j ƒ  ƒ n  d  S(   NR+   i    RW   i   (   Ri   R/   R   R6   R.   RG   R2   Rj   R\   R_   R¶   Rë   Rä   Rß   (   R8   R0   t   X_sparseR1   Rs   t   denset   sparse(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_sparse_inputI  s$    
!!	t   sparse_matrixc         C   s;   t  j d d d d ƒ \ } } t |  | | | ƒ | ƒ d  S(   NR+   i    R%   i2   (   R   Rð   R,  (   R8   R-  R0   R1   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_sparse_inputc  s    c         C   sg  t  |  d d d t ƒ } t j t j d | ƒ} t j } t | j | | ƒ j	 | ƒ | ƒ t j t j d d d | ƒ} t j } t | j | | ƒ j	 | ƒ | ƒ t j t j d d d | ƒ} t j } t | j | | ƒ j	 | ƒ | ƒ t j
 t j d | ƒ} t j } t | j | | ƒ j	 | ƒ | ƒ | j j t k rt t j d | ƒ} t j } t | j | | ƒ j	 | ƒ | ƒ t t j d | ƒ} t j } t | j | | ƒ j	 | ƒ | ƒ t t j d | ƒ} t j } t | j | | ƒ j	 | ƒ | ƒ n  t j t j d  d  d … d | ƒ} t j d  d  d … } t | j | | ƒ j	 | ƒ | ƒ d  S(	   NR+   i    R®   Rq   t   ordert   Ct   Fi   (   Ri   Rg   RY   t   asarrayR?   R@   RA   R   R/   R2   t   ascontiguousarrayt   base_estimatort   splitterR$   R   R   R   (   R8   Rq   Rt   R0   R1   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_memory_layoutn  s4    	"	"	"	"	"	"	%%c         C   s   t  |  | ƒ d  S(   N(   R6  (   R8   Rq   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_memory_layout  s    c         C   s€   t  |  } t t | d d d d ƒ j | | ƒ | d d ƒ } | j | | ƒ |  t k sf |  t k r| t t | j | ƒ n  d  S(   NR,   i   R+   i    (   Ri   R   R©   R/   R.   RG   R2   (   R8   R0   t   X_2dR1   Rs   Rt   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_1d_input¤  s    
c      	   C   sk   t  j d  d  … d f } t  j d  d  … d f j d ƒ } t  j } t ƒ   t |  | | | ƒ Wd  QXd  S(   Ni    iÿÿÿÿi   (   iÿÿÿÿi   (   R?   R@   t   reshapeRA   R   R9  (   R8   R0   R8  R1   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_1d_input±  s
    "	
c   
      C   sª  t  |  } | d d ƒ } | j t j t j ƒ | d d d d ƒ } | j t j t j ƒ t | j | j ƒ t j t j t j t j f ƒ j	 } | d i d d 6d d 6d d 6i d d 6d d 6d d 6i d d 6d d 6d d 6g d d ƒ } | j t j | ƒ t | j | j ƒ | d d d d ƒ } | j t j | ƒ t | j | j ƒ t j
 t j j ƒ } | t j d k c d	 9<i d d 6d
 d 6d d 6} | d d ƒ } | j t j t j | ƒ | d | d d ƒ } | j t j t j ƒ t | j | j ƒ | d d ƒ } | j t j t j | d ƒ | d | d d ƒ } | j t j t j | ƒ t | j | j ƒ | ƒ  }	 d g t t j ƒ } |	 j t j t j d | ƒd  S(   NR+   i    t   class_weightt   balancedg       @i   g      ð?i   id   g      Y@Rd   (   R.   R/   R?   R@   RA   R   Rj   RY   RØ   R3   R]   R7   R5   (
   R8   R9   t   clf1t   clf2t
   iris_multit   clf3t   clf4Rd   R<  R:   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_class_weights»  s@    
$		c         C   s   t  |  ƒ d  S(   N(   RC  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_class_weightsì  s    c         C   sÄ   t  |  } t j t t j t ƒ d f ƒ j } | d d d d ƒ } | j t | ƒ | d i d d 6d d	 6i d d
 6d d 6g d d ƒ } | j t | ƒ | d d d d ƒ } | j t | ƒ d  S(   Ni   R<  R=  R+   i    g      à?iÿÿÿÿg      ð?i   iþÿÿÿt   balanced_subsample(   R.   RY   RØ   R1   R¤   R3   R/   R0   (   R8   R9   RÙ   R:   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt6   check_class_weight_balanced_and_bootstrap_multi_outputò  s    
%.	c         C   s   t  |  ƒ d  S(   N(   RF  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt5   test_class_weight_balanced_and_bootstrap_multi_output   s    c         C   s"  t  |  } t j t t j t ƒ d f ƒ j } | d d d d ƒ } t t | j t	 t ƒ t t | j t	 | ƒ | d d d t
 d d ƒ } t t | j t	 t ƒ t t | j t	 | ƒ | d d d d ƒ } t t | j t	 | ƒ | d i d	 d
 6d d 6g d d ƒ } t t | j t	 | ƒ d  S(   Ni   R<  s	   the larchR+   i    R=  t
   warm_starti   g      à?iÿÿÿÿg      ð?(   R.   RY   RØ   R1   R¤   R3   R   R©   R/   R0   R~   R   R±   (   R8   R9   RÙ   R:   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_class_weight_errors  s    
%	&c         C   s   t  |  ƒ d  S(   N(   RI  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_class_weight_errors  s    i*   c   	      C   s3  t  t } } t |  } d  } xq d d g D]c } | d  k rZ | d | d | d t ƒ } n | j d | ƒ | j | | ƒ t t | ƒ | ƒ q* W| d d d | d t	 ƒ } | j | | ƒ t t
 g  | D] } | j ^ qÉ ƒ t
 g  | D] } | j ^ qè ƒ ƒ t | j | ƒ | j | ƒ d d j |  ƒ ƒd  S(   Ni   i
   R,   R+   RH  t   err_msgs   Failed with {0}(   R  R  Ri   t   NoneR~   Rm   R/   R   R5   Rg   t   setR+   R   R6   R  (	   R8   R+   R0   R1   Rs   t   clf_wsR,   t	   clf_no_wsR£   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_warm_start%  s$    
	"#c         C   s   t  |  ƒ d  S(   N(   RP  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_warm_start@  s    c      	   C   sÂ   t  t } } t |  } | d d d d d t d d ƒ } | j | | ƒ | d d d d d t d d ƒ } | j | | ƒ | j d t d d ƒ | j | | ƒ t | j | ƒ | j | ƒ ƒ d  S(   NR,   i   RW   i   RH  R+   i   (	   R  R  Ri   Rg   R/   R~   Rm   R   R6   (   R8   R0   R1   Rs   R:   t   clf_2(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_warm_start_clearE  s    
		c         C   s   t  |  ƒ d  S(   N(   RS  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_warm_start_clearV  s    c         C   sl   t  t } } t |  } | d d d d d t ƒ } | j | | ƒ | j d d ƒ t t | j | | ƒ d  S(   NR,   i   RW   i   RH  i   (   R  R  Ri   R~   R/   Rm   R   R©   (   R8   R0   R1   Rs   R:   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt%   check_warm_start_smaller_n_estimators[  s    
c         C   s   t  |  ƒ d  S(   N(   RU  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt$   test_warm_start_smaller_n_estimatorse  s    c      	   C   sÂ   t  t } } t |  } | d d d d d t d d ƒ } | j | | ƒ | d d d d d t d d ƒ } | j | | ƒ | j d d ƒ t t | j | | ƒ t | j	 | ƒ | j	 | ƒ ƒ d  S(	   NR,   i   RW   i   RH  R+   i   i   (
   R  R  Ri   R~   R/   Rm   R   R±   R   R6   (   R8   R0   R1   Rs   R:   RR  (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt#   check_warm_start_equal_n_estimatorsj  s    
		c         C   s   t  |  ƒ d  S(   N(   RW  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt"   test_warm_start_equal_n_estimators  s    c         C   su  t  t } } t |  } | d d d d d t d d d t d	 t ƒ } | j | | ƒ | d d
 d d d t d d d t d	 t ƒ } | j | | ƒ | j d t d	 t d d ƒ | j | | ƒ t | d ƒ sÒ t ‚ t	 | j
 | j
 ƒ | d d d d d t d d d t d	 t ƒ } | j | | ƒ t | d ƒ s8t ‚ | j d	 t ƒ t | j ƒ | | ƒ t	 | j
 | j
 ƒ d  S(   NR,   i   RW   i   RH  R+   i   R®   R­   i   R°   (   R  R  Ri   Rg   R~   R/   Rm   RQ   Rl   R   R°   R   (   R8   R0   R1   Rs   R:   RR  t   clf_3(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_warm_start_oob„  s&    
c         C   s   t  |  ƒ d  S(   N(   RZ  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_warm_start_oob¤  s    i   c         C   s}   t  d d d t ƒ } t j |  ƒ } g  d |   D] } | ^ q/ } | j | | ƒ j | ƒ } t | j | ƒ t | | ƒ d  S(   NR+   i    R®   t   ABCDEFGHIJKLMNOPQRSTU(   R   Rg   RY   t   eyeR/   R2   R   RO   (   t	   n_classest
   classifierR0   t   chR1   t   result(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_dtype_convert©  s    c      	   C   sY  t  t } } | j d } t |  } | d d d d d t d d ƒ } | j | | ƒ | j | ƒ \ } } t | j d | d ƒ t | j d | ƒ t t	 j
 | ƒ g  | j D] } | j j ^ q¯ ƒ | j | ƒ }	 x{ t |	 j d ƒ D]f }
 g  t |	 d  d  … |
 f ƒ D]$ \ } } | | | |
 | f ^ q} t | t	 j d	 | ƒ ƒ që Wd  S(
   Ni    R,   i   RW   i   RH  R+   iÿÿÿÿR7   (   R  R  R7   Ri   Rg   R/   t   decision_pathR   R   RY   t   diffR¦   R    t
   node_countR6   Rˆ   t	   enumerateR   R]   (   R8   R0   R1   R%   Rs   Rt   t	   indicatort   n_nodes_ptrt   et   leavest   est_idR   R”   t   leave_indicator(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   check_decision_pathµ  s     
	#Dc         C   s   t  |  ƒ d  S(   N(   Rm  (   R8   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_decision_pathË  s    c          C   s“   t  j d d d d ƒ \ }  } t t t t g } x\ | D]T } | d d ƒ } t t d | j |  | ƒ } x! | j	 D] } t
 | j d ƒ qq Wq7 Wd  S(   NR%   id   R+   i   t   min_impurity_splitgš™™™™™¹?t   min_impurity_decrease(   R   t   make_hastie_10_2R   R   R   R   R   t   DeprecationWarningR/   R¦   R   Ro  (   R0   R1   t   all_estimatorst	   EstimatorRt   R£   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_min_impurity_splitÐ  s    	c          C   sˆ   t  j d d d d ƒ \ }  } t t t t g } xQ | D]I } | d d ƒ } | j |  | ƒ x! | j D] } t | j	 d ƒ qf Wq7 Wd  S(   NR%   id   R+   i   Rp  gš™™™™™¹?(
   R   Rq  R   R   R   R   R/   R¦   R   Rp  (   R0   R1   Rs  Rt  Rt   R£   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_min_impurity_decreaseà  s    R¼   c         C   sR   d } |  ƒ  } t  t | | j t t ƒ } |  d d ƒ } t | j t t ƒ } d  S(   NsU   The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.R,   id   (   R   t   FutureWarningR/   R0   R1   R   (   R¼   t
   msg_futureRt   (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_nestimators_future_warningï  s
    	t	   MyBackendc           B   s   e  Z d  „  Z d „  Z RS(   c         O   s&   d |  _  t t |  ƒ j | | Ž  d  S(   Ni    (   R…   t   superRz  t   __init__(   t   selft   argst   kwargs(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyR|    s    	c         C   s"   |  j  d 7_  t t |  ƒ j ƒ  S(   Ni   (   R…   R{  Rz  t
   start_call(   R}  (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyR€    s    (   t   __name__t
   __module__R|  R€  (    (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyRz    s   	t   testings   0.12t   reasons'   tests not yet supported in joblib <0.12c          C   s–   t  d d d d ƒ }  t d ƒ  \ } } |  j t t ƒ Wd  QX| j d k sU t ‚ t d ƒ  \ } } |  j t ƒ Wd  QX| j d k s’ t ‚ d  S(   NR,   i
   Rc   i   Rƒ  i    (   R   R   R/   R0   R1   R…   Rl   R\   (   R:   t   baRc   t   _(    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   test_backend_respected  s    (   RD   RE   (   RK   RL   RM   (¬   t   __doc__RÄ   t   collectionsR    t   distutils.versionR   t	   itertoolsR   R   t   numpyRY   t   scipy.sparseR   R   R   t   pytestt   sklearn.utils._joblibR   R   R	   R
   t   __joblib_version__t   sklearn.utils.testingR   R   R   R   R   R   R   R   R   R   R   R   R   R   t   sklearnR   t   sklearn.decompositionR   t   sklearn.ensembleR   R   R   R   R   t   sklearn.model_selectionR    t   sklearn.svmR!   t   sklearn.utils.validationR"   t   sklearn.utils.fixesR#   t   sklearn.tree.treeR$   R0   R1   R3   R4   t   make_classificationRg   Re   Rh   t	   load_irisR?   Rô   t   permutationRA   Rú   t   permR@   t   load_bostonRH   Rq  R  R  Rf   t   float32t   parallelt   get_active_backendRÈ   t   DEFAULT_JOBLIB_BACKENDR.   RG   R¶   t   dictRi   t   updateRb   t   FOREST_CLASSIFIERS_REGRESSORSR<   t   markt   parametrizeR=   RC   RF   RJ   RN   RS   t   filterwarningsRT   R`   Ra   Rz   t   float64t   chainR{   R¨   R«   R¬   R³   R´   Rµ   Rº   R»   R½   R¾   RÁ   RÃ   RÍ   RÎ   RÖ   R×   RÚ   RÛ   Rã   Ré   Rï   Rñ   Rù   R	  R  R  R  R  R  R  R'  R(  R,  R.  R6  R7  R9  R;  RC  RD  RF  RG  RI  RJ  RP  RQ  RS  RT  RU  RV  RW  RX  RZ  R[  Rb  Rm  Rn  Ru  Rv  Ry  Rz  t   skipifR‡  (    (    (    sA   lib/python2.7/site-packages/sklearn/ensemble/tests/test_forest.pyt   <module>   sf  <!	


			!	!	!		(	$	]		!	$	
	!
	!	!					6		!	 !		!	/0
	1!	!	!		
		 	
