ó
‡ˆ\c           @   sO  d  d l  m Z d  d l Z d  d l m Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 m Z m Z d  d l m Z d  d l m Z d  d l m Z 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 m Z e j  d d  g d  d  g d  d g d d g d d g d d g g ƒ Z! e j  d d d d d d g ƒ Z" e j# j$ d ƒ Z% e% j& d dB ƒ Z' e% j& d d ƒ d k j( e j) ƒ Z* e% j+ d d dC ƒZ, e j  d d d d d d g ƒ Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 d  „  Z2 d! „  Z3 d" „  Z4 d# „  Z5 d$ „  Z6 d% „  Z7 d& „  Z8 d' „  Z9 e	 j: j; d( dD ƒ d+ „  ƒ Z< d, „  Z= e	 j: j; d- e e g ƒ d. „  ƒ Z> d/ „  Z? e	 j: j; d- e e e g ƒ d0 „  ƒ Z@ e	 j: j; d- e e e g ƒ d1 „  ƒ ZA e	 j: j; d- e e g ƒ d2 „  ƒ ZB d3 „  ZC e	 j: j; d- e e g ƒ d4 „  ƒ ZD e	 j: j; d- e e g ƒ d5 „  ƒ ZE e	 j: j; d- e e g ƒ d6 „  ƒ ZF e	 j: j; d- e e g ƒ d7 „  ƒ ZG d8 „  ZH d9 „  ZI d: „  ZJ d; „  ZK d< „  ZL d= „  ZM d> „  ZN d? „  ZO d@ „  ZP dA „  ZQ d S(E   iÿÿÿÿ(   t   divisionN(   t   BytesIO(   t   load_digitst	   load_iris(   t   train_test_split(   t   cross_val_score(   t   zip(   t   assert_almost_equal(   t   assert_array_equal(   t   assert_array_almost_equal(   t   assert_equal(   t   assert_raises(   t   assert_raise_message(   t   assert_greater(   t   assert_warns(   t
   GaussianNBt   BernoulliNB(   t   MultinomialNBt   ComplementNBiþÿÿÿi   i   i    t   sizei
   i   i   i   id   c          C   s‘   t  ƒ  }  |  j t t ƒ j t ƒ } t | t ƒ |  j t ƒ } |  j t ƒ } t t	 j
 | ƒ | d ƒ t t t  ƒ  j t t d d d g ƒd  S(   Ni   t   classesi    i   (   R   t   fitt   Xt   yt   predictR   t   predict_probat   predict_log_probaR	   t   npt   logR   t
   ValueErrort   partial_fit(   t   clft   y_predt   y_pred_probat   y_pred_log_proba(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb*   s    	c          C   se   t  ƒ  j t t ƒ }  t t j d d g ƒ d |  j d ƒ |  j t t	 ƒ t |  j j
 ƒ  d ƒ d  S(   Ni   g      @i   i   (   R   R   R   R   R	   R   t   arrayt   class_prior_t   X1t   y1t   sum(   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_prior=   s
    c          C   s•  t  j d ƒ }  t ƒ  j t t ƒ } t ƒ  j t t |  ƒ } t | j | j ƒ t | j | j ƒ t	 j
 t j d ƒ }  t ƒ  j t t d |  ƒ} t ƒ  j t t d d d g d |  d ƒ} | j t t d |  d ƒt | j | j ƒ t | j | j ƒ t	 j d t j d d ƒ } t  j | d t j d ƒ} t ƒ  j t | t | ƒ } t ƒ  j t t | ƒ } t | j | j ƒ t | j | j ƒ d	 S(
   s6   Test whether sample weights are properly used in GNB. i   i    t   sample_weightR   i   i   i   t	   minlengthN(   R   t   onesR   R   R   R   R	   t   theta_t   sigma_t   rngt   randt   shapeR   t   randintt   bincount(   t   swR   t   clf_swt   clf1t   clf2t   indR*   t   clf_dupl(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_sample_weightG   s"    +c          C   s8   t  d t j d d g ƒ ƒ }  t t |  j t t ƒ d S(   s:   Test whether an error is raised in case of negative priorst   priorsg      ð¿g       @N(   R   R   R$   R   R   R   R   R   (   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_neg_priorsg   s    c          C   s   t  d t j d d g ƒ ƒ j t t ƒ }  t |  j d d g g ƒ t j d d g g ƒ d ƒ t |  j t j d d g ƒ ƒ d S(	   s6   Test whether the class prior override is properly usedR;   g333333Ó?gffffffæ?gš™™™™™¹¿g[È9ãhê?g–Žßs\Æ?i   N(	   R   R   R$   R   R   R   R	   R   R%   (   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_priorsm   s
    *	c          C   sã   t  j 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
 ƒ }  t  j d d d d d d d d d d g
 ƒ } t  j d d d d	 d
 d d d d d g
 ƒ } t | ƒ } | j |  | ƒ d  S(   Niÿÿÿÿiþÿÿÿiýÿÿÿiüÿÿÿiûÿÿÿi   i   i   i   i   g{®Gáz´?gìQ¸…ëÁ?g¸…ëQ¸ž?g{®GázÄ?g)\Âõ(¼?gìQ¸…ë±?g        i   i   i   i	   i
   (   R   R$   R   R   (   R   R;   t   YR   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_priors_sum_isclosev   s    36-c          C   s>   t  d t j d d d d g ƒ ƒ }  t t |  j t t ƒ d S(   sa    Test whether an error is raised if the number of prior is different
    from the number of classR;   g      Ð?N(   R   R   R$   R   R   R   R   R   (   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_wrong_nb_priors‚   s    $c          C   s8   t  d t j d d g ƒ ƒ }  t t |  j t t ƒ d S(   s?   Test if an error is raised if the sum of prior greater than oneR;   g       @g      ð?N(   R   R   R$   R   R   R   R   R   (   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_prior_greater_one‰   s    c          C   s]   t  d t j d d g ƒ ƒ }  |  j t t ƒ t |  j d d g g ƒ t j d g ƒ ƒ d S(   s@   Test if good prediction when class prior favor largely one classR;   g{®Gáz„?g®Gáz®ï?gš™™™™™¹¿i   N(   R   R   R$   R   R   R   R
   R   (   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_prior_large_bias   s    c          C   sj   d }  d } d } t  j d t j d f ƒ } t j |  | | | ƒ \ } } t | | ƒ t | | ƒ d S(   s5    Test when the partial fit is called without any dataid   g        g      ð?i    i   N(   R   t   emptyR   R1   R   t   _update_mean_varianceR
   (   t   prev_pointst   meant   vart   x_emptyt   tmeant   tvar(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_check_update_with_no_data–   s    c          C   sB   t  ƒ  }  |  j t t ƒ t t |  j t j t t f ƒ t ƒ d S(   s^   Test whether an error is raised when the number of feature changes
    between two partial fitN(	   R   R   R   R   R   R   R   R   t   hstack(   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_pfit_wrong_nb_features£   s    	c          C   sb   x[ t  t g D]M }  |  ƒ  j t t ƒ } t t j t j d d d g ƒ d ƒ | j	 d ƒ q Wd  S(   Ni   g      @i   (
   R   R   R   t   X2t   y2R	   R   R   R$   t   class_log_prior_(   t   clsR   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_discrete_prior­   s    %t   kindt   denset   sparsec         C   s!  |  d k r t  } n! |  d k r6 t j j t  ƒ } n  t ƒ  } t t | j | t ƒ | j | t ƒ j	 | ƒ } t
 | t ƒ | j | ƒ } | j | ƒ } t t j | ƒ | d ƒ t ƒ  } | j | d  t d  d t j t ƒ ƒ| j | d d !t d d !ƒ | j | d t d ƒ | j	 | ƒ } t
 | t ƒ | j | ƒ } | j | ƒ }	 t t j | ƒ |	 d ƒ t | | ƒ t |	 | ƒ t ƒ  }
 |
 j | t d t j t ƒ ƒ|
 j	 | ƒ } t
 | t ƒ |
 j | ƒ } |
 j | ƒ } t t j | ƒ | d ƒ t | | ƒ t | | ƒ d  S(   NRT   RU   i   i   R   i   (   RN   t   scipyRU   t
   csr_matrixR   R   R   R   RO   R   R   R   R   R	   R   R   R   t   unique(   RS   R   R   R    R!   R"   R7   t   y_pred2t   y_pred_proba2t   y_pred_log_proba2t   clf3t   y_pred3t   y_pred_proba3t   y_pred_log_proba3(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt	   test_mnnbµ   s>    			'	c         C   s  |  ƒ  } | j  d d g d d g g d d g ƒ |  ƒ  } | j d d g d d g g d d g d d d g ƒt | j | j ƒ t | j | j ƒ |  ƒ  } | j d d g g d g d d d g ƒ| j d d g g d g ƒ t | j | j ƒ t | j | j ƒ d  S(   Ni    i   R   (   R   R   R   t   class_count_t   feature_count_(   RQ   R6   R7   R\   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   check_partial_fité   s    	(	4	(RQ   c         C   s   t  |  ƒ d  S(   N(   Rc   (   RQ   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_discretenb_partial_fitù   s    c          C   s  t  ƒ  j t t ƒ }  t  ƒ  j t t t j t ƒ ƒ } t |  j | j ƒ t |  j	 | j	 ƒ t |  j
 | j
 ƒ t  ƒ  j t d d  d … d  d  … f t d d  d … t j t ƒ ƒ } | j t d d  d … t d d  d … ƒ t |  j | j ƒ t |  j	 | j	 ƒ t |  j
 | j
 ƒ d  S(   Ni    i   i   (   R   R   R   R   R   R   RX   R	   R-   R.   R%   (   R   t   clf_pft   clf_pf2(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_gnb_partial_fitþ   s    !G*c         C   s  |  ƒ  j  t t ƒ } | j t ƒ } t ƒ  } t j | | ƒ t j t | j ƒ  ƒ ƒ } t	 | | j t ƒ ƒ |  t
 k	 r|  ƒ  j t d  t d  d t j t ƒ ƒ} | j t d t d ƒ t ƒ  } t j | | ƒ t j t | j ƒ  ƒ ƒ } t	 | | j t ƒ ƒ n  d  S(   Ni   R   (   R   RN   RO   R   R   t   picklet   dumpt   loadt   getvalueR   R   R   R   RX   (   RQ   R   R    t   storeR7   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_discretenb_pickle  s    	,	c         C   s_   t  t |  ƒ  j t t d  ƒ |  ƒ  j t t ƒ } t  t | j t d  d  … d  d … f ƒ d  S(   Niÿÿÿÿ(   R   R   R   RN   RO   R   (   RQ   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_input_check_fit%  s    c         C   së   t  t |  ƒ  j t t d  d t j t ƒ ƒt  t |  ƒ  j t t ƒ |  ƒ  } | j t t d t j t ƒ ƒt  t | j t t d t j d ƒ ƒt  t | j t d  d  … d  d … f t ƒ t  t | j t d  d  … d  d … f ƒ d  S(   NiÿÿÿÿR   i*   (	   R   R   R   RN   RO   R   RX   t   arangeR   (   RQ   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_input_check_partial_fit1  s    	,c          C   s.  d d d g d d d g d d d g g }  d d g d d g d d g g } d d d g } x° t  t t g |  | g ƒ D]“ \ } } | ƒ  j | | ƒ } t | j | d ƒ d ƒ t | j | d g ƒ j d ƒ t | j | d  ƒ j	 d d ƒ t
 j d	 d	 g ƒ d
 ƒ qv Wd d d g } xt  t t g |  | g ƒ D]î \ } } | ƒ  j | | ƒ } t | j | d d !ƒ j d ƒ t | j | d  ƒ j d ƒ t t
 j	 | j | d g ƒ ƒ d ƒ t t
 j	 | j | d g ƒ ƒ d ƒ t t
 j	 t
 j | j ƒ ƒ d ƒ t t
 j	 t
 j | j ƒ ƒ d ƒ q8Wd  S(   Ni   id   i    i   i   i   iÿÿÿÿt   axisg      ð?i   (   i   i   (   i   i   (   i   i   (   R   R   R   R   R
   R   R   R1   R	   R(   R   R$   R   t   expRP   t
   intercept_(   t   X_bernoullit   X_multinomialR   RQ   R   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_discretenb_predict_probaG  s(    *!  &&"c         C   sv   |  ƒ  } | j  d t ƒ | j d g d g d g g d d d g ƒ t j | j ƒ } t | t j d d g ƒ ƒ d  S(   Nt	   fit_priori    i   g      à?(   t
   set_paramst   FalseR   R   Rr   RP   R	   R$   (   RQ   R   t   prior(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_discretenb_uniform_priorf  s
    	+c      	   C   sÚ   |  d d d g ƒ } | j  d g d g d g g d d d g ƒ t j | j ƒ } t | t j d d g ƒ ƒ t t | j  d g d g d g g d d d g ƒ t t | j d g d g g d d g d d d d g ƒd  S(   Nt   class_priorg      à?i    i   i   R   (	   R   R   Rr   RP   R	   R$   R   R   R   (   RQ   R   Rz   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_discretenb_provide_priorr  s    +1'c   	      C   sÐ   t  ƒ  } t | j | j d d d d ƒ\ } } } } x“ d  d d d g g D]| } |  d | ƒ } | j | j | j ƒ |  d | ƒ } | j | | d d d	 d
 g ƒ| j | | ƒ t | j | j ƒ qL Wd  S(   Nt	   test_sizegš™™™™™Ù?t   random_stateiŸ  g333333Ó?R|   R   i    i   i   (	   R   R   t   datat   targett   NoneR   R   R	   RP   (	   RQ   t   irist
   iris_data1t
   iris_data2t   iris_target1t   iris_target2Rz   t   clf_fullt   clf_partial(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt.   test_discretenb_provide_prior_with_partial_fit  s    	*	c         C   s   t  |  ƒ d  S(   N(   t   check_sample_weight_multiclass(   RQ   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_sample_weight_multiclass•  s    c         C   sf  d d d g d d d g d d d g d d d g g } d d d d g } t  j d d d d g d t  j ƒ} | | j ƒ  } |  ƒ  j | | d | ƒ} t | j | ƒ d d d d g ƒ |  ƒ  } | j | d  | d  d d d d g d | d  ƒ| j | d d !| d d !d | d d !ƒ| j | d | d d | d ƒt | j | ƒ d d d d g ƒ d  S(   Ni    i   i   t   dtypeR*   R   i   (   R   R$   t   float64R(   R   R   R   R   (   RQ   R   R   R*   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyR‹   ›  s    $"	&+"c          C   s¥   t  ƒ  }  |  j d d g d d g d d g g d d d g d d d d g ƒt |  j d d g g ƒ d g ƒ t j |  j d ƒ } t d | | g d d g ƒ d  S(	   Ni   i   i    R*   i   g      @gUUUUUUÕ?gUUUUUUå?(   R   R   R   R   R   Rr   Rs   R	   (   R   t   positive_prior(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_sample_weight_mnb±  s    	$"c          C   s   d d d g d d d g g }  d d g } xP t  ƒ  t ƒ  g D]< } | j |  | ƒ t | j j d ƒ t | j j d ƒ q= Wd  S(   Ni   i    i   i   (   i   i   (   i   (   R   R   R   R
   t   coef_R1   Rs   (   R   R   R   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_coef_intercept_shape¼  s    c          C   sÅ  t  ƒ  }  |  j |  j } } t j |  j d k |  j d k ƒ } | | | | } } t t d d ƒ | | d d ƒ} t | j ƒ  d ƒ t t d d ƒ | | d d ƒ} t | j ƒ  d ƒ t t	 d d ƒ | d k | d d ƒ} t | j ƒ  d	 ƒ t t	 d d ƒ | d k | d d ƒ} t | j ƒ  d
 ƒ t t
 ƒ  | | d d ƒ} t | j ƒ  d ƒ t t
 d d ƒ | | d d ƒ} t | j ƒ  d ƒ t t
 ƒ  | | d d ƒ} t | j ƒ  d ƒ d  S(   Ni   i   t   alphai
   t   cvg…ëQ¸…ë?g®Gázî?i   gÂõ(\ê?gq=
×£pí?g¤p=
×£è?t   var_smoothinggš™™™™™¹?g{®Gázì?(   R   R€   R   R   t
   logical_orR   R   R   RF   R   R   (   t   digitsR   R   t
   binary_3v8t   X_3v8t   y_3v8t   scores(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_check_accuracy_on_digitsÈ  s$    	$!!''!c          C   sè   t  j d d d g d d d g d d d g d d d g d d d g g ƒ }  t  j d d d d d g ƒ } t d d ƒ } | j |  | ƒ t  j | j d ƒ } t  j t  j | j d ƒ |  j d d f ƒ j	 } t
 | j | | ƒ d  S(   Ni    i   i   R“   g      ð?g       @(   R   R$   R   R   R   Rb   t   tileRa   R1   t   TR	   t   feature_log_prob_(   R   R>   R   t   numt   denom(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_feature_log_prob_bnbê  s    K2c       
   C   s†  t  j d d d d d d g d d d d d d g d d d d d d g d d d d d d g g ƒ }  t  j d d d d g ƒ } t d d ƒ } | j |  | ƒ t  j d d g ƒ } t t  j | j ƒ | ƒ t  j d d d	 d d d	 g d d d d d d g g ƒ } t t  j | j ƒ | ƒ t  j d d d d d d g g ƒ } t  j d d g g ƒ } | t  j | ƒ } t | j	 | ƒ | ƒ d  S(   Ni   i    R“   g      ð?g      è?g      Ð?gš™™™™™Ù?gš™™™™™é?gš™™™™™É?g      @i   g¦@fgÑ;u?gÇ¿à€y–?gUUUUUUÕ?gUUUUUUå?gUUUUUUå?gUUUUUUÕ?gUUUUUUÕ?gUUUUUUå?(
   R   R$   R   R   R	   Rr   RP   RŸ   R(   R   (   R   R>   R   R|   t   feature_probt   X_testt   unnorm_predict_probaR   (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_bnb  s"    $	c    
   
   C   st  t  j d d d d d d g d d d d d d g d d d d d d g d d d d d d g g ƒ }  t  j d d d d g ƒ } t  j d
 d d d d d d d d d d d g d d d d d d d d d d d  d! g g ƒ } t  j | j ƒ } t  j | j ƒ } xH t d ƒ D]: } t  j | | ƒ | | <| | | | j ƒ  | | <qWt d d ƒ } t t	 | j
 |  | ƒ | j
 |  | ƒ t  j d d d d d d g d d d d d d g g ƒ } t | j | ƒ t  j d d g ƒ } t | j | ƒ t  j d d d d d d g ƒ }	 t | j |	 ƒ t | j | ƒ t d d d	 t ƒ } | j
 |  | ƒ t | j | ƒ d  S("   Ni   i    i   i   i   R“   g      ð?i   t   normi   i	   i   i	   i   i	   i   i	   i   i	   i   i	   i   i   i   i   i   i   i   i   i   i   i   i   (   R   R$   t   zerosR1   t   rangeR   R(   R   R   R   R   R   Rb   Ra   t   feature_all_R	   RŸ   t   True(
   R   R>   t   thetat   weightst   normed_weightst   iR   t   feature_countt   class_countt   feature_all(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_cnb.  sH    
 9!c          C   sŒ   t  ƒ  }  |  j |  j } } g  d d d g D], } t ƒ  j | | | ƒ j | | ƒ ^ q, } t | d | d ƒ t | d | d ƒ d  S(   Ng»½×Ùß|Û=i   g    _ Bi    i   (   R   R€   R   R   R   R   R   (   Rƒ   R   R   t   ft   labels(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt!   test_naive_bayes_scale_invariancep  s    	?c       	   C   sô  t  j d d g d d g g ƒ }  t  j d d g ƒ } t d d ƒ } t t | j |  | d d d g ƒt t | j |  | ƒ t  j d d g d d g g ƒ } t | j |  ƒ | ƒ t	 d d ƒ } t t | j |  | d d d g ƒt t | j |  | ƒ t  j d d g d d g g ƒ } t | j |  ƒ | ƒ t
 j j |  ƒ }  t d d ƒ } t t | j |  | ƒ t  j d d g d d g g ƒ } t | j |  ƒ | ƒ t	 d d ƒ } t t | j |  | ƒ t  j d d g d d g g ƒ } t | j |  ƒ | ƒ t  j d d g d d g g ƒ }  t  j d d g ƒ } d	 } t d d
 ƒ } t	 d d
 ƒ } t t | | j |  | ƒ t t | | j |  | ƒ t d d
 ƒ } t	 d d
 ƒ } t t | | j |  | d d d g ƒt t | | j |  | d d d g ƒd  S(   Ni   i    R“   g        R   g       @i   g      ð?s:   Smoothing parameter alpha = -1.0e-01. alpha should be > 0.gš™™™™™¹¿gUUUUUUå?gUUUUUUÕ?gUUUUUUå?gUUUUUUÕ?(   R   R$   R   R   t   UserWarningR   R   R	   R   R   RV   RU   RW   R   R   (   R   R   t   nbt   probt   expected_msgt   b_nbt   m_nb(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt
   test_alphaz  sD    !"!"!!!!c    	      C   sÝ  t  j d d g d d g g ƒ }  t  j d d g ƒ } t  j d d g ƒ } t d | ƒ } | j |  | d d d g ƒt  j d d g d d g g ƒ } t | j t  j | ƒ ƒ t  j d d g d d g g ƒ } t | j |  ƒ | ƒ t  j d d g ƒ } d } t d | ƒ } t t	 | | j
 |  | ƒ d } t  j | d d g ƒ } t d | ƒ } | j |  | d d d g ƒt | j ƒ  | d g d d ƒt  j d d d g ƒ } t d | ƒ } d } t t	 | | j
 |  | ƒ d  S(   Ni   i    i   R“   R   i   i   i	   i   i   i1   i   g      ð?gš™™™™™¹¿s:   Smoothing parameter alpha = -1.0e-01. alpha should be > 0.g»½×Ùß|Û=g      à?t   decimali   g       @g      @sA   alpha should be a scalar or a numpy array with shape [n_features]g      à?g      à?gš™™™™™Ù?g333333ã?grÇqÇá?gÇqÇqÜ?g¼œ‚—Sà?gÖ‡ÆúÐXß?(   R   R$   R   R   R	   RŸ   R   R   R   R   R   t   _check_alpha(	   R   R   R“   R¸   R£   R¹   Rº   R¼   t	   ALPHA_MIN(    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   test_alpha_vector¨  s0    !!!(   i
   i   (   i   id   (   RT   RU   (R   t
   __future__R    Rh   t   ioR   t   numpyR   t   scipy.sparseRV   t   pytestt   sklearn.datasetsR   R   t   sklearn.model_selectionR   R   t   sklearn.externals.six.movesR   t   sklearn.utils.testingR   R   R	   R
   R   R   R   R   t   sklearn.naive_bayesR   R   R   R   R$   R   R   t   randomt   RandomStateR/   t   normalR&   t   astypet   intR'   R2   RN   RO   R#   R)   R:   R<   R=   R?   R@   RA   RB   RK   RM   RR   t   markt   parametrizeR`   Rc   Rd   Rg   Rm   Rn   Rp   Rv   R{   R}   RŠ   RŒ   R‹   R   R’   Rœ   R¢   R¦   R³   R¶   R½   RÁ   (    (    (    s=   lib/python2.7/site-packages/sklearn/tests/test_naive_bayes.pyt   <module>   sx   E!$!		
	 									
	4	$	''$	$$$$				"		-	B	
	.