ó
‡ˆ\c           @   s:  d  d l  Z d  d l j 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 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( m) Z) d  d l* m+ Z+ d  d l* m, Z, d  d l- m. Z. d  d  l( m/ Z/ e j0 ƒ  Z1 e1 j2 e1 j3 Z4 Z5 e j6 e4 j7 d! ƒ Z8 e j9 j: d! ƒ Z; e; j< e8 ƒ e8 d"  Z8 e4 e8 e5 e8 Z4 Z5 e j= ƒ  Z> e j? e> j2 ƒ Z@ e> j3 ZA d# „  ZB d$ „  ZC e	 jD jE d% dX ƒ d+ „  ƒ ZF d, „  ZG d- „  ZH d. „  ZI d/ „  ZJ d0 „  ZK d1 „  ZL d2 „  ZM d3 „  ZN d4 „  ZO d5 „  ZP d6 „  ZQ d7 „  ZR d8 „  ZS d9 „  ZT d: „  ZU d; „  ZV d< „  ZW d= „  ZX e	 jD jY d> ƒ e	 jD jY d? ƒ e	 jD jE d@ eQ eS eR eT eU eV eW f ƒ dA „  ƒ ƒ ƒ ZZ dB „  Z[ dC „  Z\ dD „  Z] e	 jD jY d? ƒ e	 jD jE dE e$ e% f ƒ dF „  ƒ ƒ Z^ e	 jD jY d? ƒ dG „  ƒ Z_ e	 jD jY d? ƒ dH „  ƒ Z` e	 jD jY d? ƒ dI „  ƒ Za e	 jD jY d> ƒ dJ „  ƒ Zb dK „  Zc dL „  Zd e	 jD jY d? ƒ dM „  ƒ Ze e	 jD jY d? ƒ dN „  ƒ Zf dO „  Zg dP „  Zh e dQ „  ƒ Zi dR „  Zj dS „  Zk dT „  Zl dU „  Zm dV „  Zn dW „  Zo d S(Y   iÿÿÿÿN(   t   linalg(   t   product(   t   assert_almost_equal(   t   assert_array_almost_equal(   t   assert_equal(   t   assert_array_equal(   t   assert_greater(   t   assert_raises(   t   assert_raise_message(   t   assert_raises_regex(   t   ignore_warnings(   t   assert_warns(   t   ConvergenceWarning(   t   datasets(   t   mean_squared_error(   t   make_scorer(   t
   get_scorer(   t   LinearRegression(   t   ridge_regression(   t   Ridge(   t	   _RidgeGCV(   t   RidgeCV(   t   RidgeClassifier(   t   RidgeClassifierCV(   t   _solve_cholesky(   t   _solve_cholesky_kernel(   t   make_regression(   t   GridSearchCV(   t   KFold(   t   check_random_state(   t   make_multilabel_classificationi    iÈ   c         C   s   |  S(   N(    (   t   X(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   <lambda>9   s    c         C   s   t  j |  ƒ S(   N(   t   spt
   csr_matrix(   R   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyR    :   s    t   solvert   svdt	   sparse_cgt   choleskyt   lsqrt   sagc         C   s  t  j j d ƒ } d } d \ } } | j | ƒ } | j | | ƒ } t d | d |  ƒ } | j | | ƒ t | j j | j d f ƒ t	 | j
 | | ƒ d ƒ |  d k rç | j | | d t  j | ƒ ƒt	 | j
 | | ƒ d ƒ n  d \ } } | j | ƒ } | j | | ƒ } t d | d |  ƒ } | j | | ƒ t	 | j
 | | ƒ d ƒ |  d k r™| j | | d t  j | ƒ ƒt	 | j
 | | ƒ d ƒ n  d  S(   Ni    g      ð?i   i   t   alphaR#   i   g®GázÞ?R&   R(   t   sample_weighti
   gÍÌÌÌÌÌì?(   i   i   (   R&   R(   (   i   i
   (   R&   R(   (   t   npt   randomt   RandomStatet   randnR   t   fitR   t   coef_t   shapeR   t   scoret   ones(   R#   t   rngR)   t	   n_samplest
   n_featurest   yR   t   ridge(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt
   test_ridge=   s*    c          C   s€   t  j d d ƒ }  t t |  d d g ƒ} t j t t j ƒ } t | |  d d g ƒ} t j t j | ƒ j } t | | ƒ d  S(   Niÿÿÿÿi   R)   g{®Gáz„?(	   t
   y_diabetest   reshapeR   t
   X_diabetesR+   t   dott   TR   R   (   R7   t   coeft   Kt	   dual_coeft   coef2(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_primal_dual_relationshipc   s    c          C   s³   t  j j d ƒ }  d \ } } |  j | d ƒ } t  j | | f ƒ } |  j | d | ƒ } t  j | | f d d ƒ} t d d ƒ } | j | | ƒ t | j | | ƒ d ƒ d  S(   Ni    i   i   t   axisR)   gÍÌÌÌÌÌì?(   i   i   (	   R+   R,   R-   R.   t   concatenateR   R/   R   R2   (   R4   R5   R6   R7   R   R8   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridge_singularl   s    c    
      C   sÿ   t  j j d ƒ }  xæ d D]Þ } xÕ d d f D]Ç \ } } x¸ d D]° } |  j | ƒ } |  j | | ƒ } d |  j | ƒ } t | | d | d	 | d
 | ƒ} t | t  j | ƒ d  d  … t  j f | t  j | ƒ d | d
 | ƒ}	 t | |	 ƒ q? Wq, Wq Wd  S(   Ni    R&   i   i   i
   g      ð?g{®Gáz„?R)   R*   R#   (   R&   (   i   i   (   i   i
   (   g      ð?g{®Gáz„?(	   R+   R,   R-   R.   t   randR   t   sqrtt   newaxisR   (
   R4   R#   R5   R6   R)   R7   R   R*   t   coefst   coefs2(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt$   test_ridge_regression_sample_weightsz   s     	#c          C   sh   t  j j d ƒ }  |  j d ƒ } |  j d d ƒ } t t t | | d d d d d d	 d
 d  d d ƒd  S(   Ni    i   i
   R)   g      ð?R#   R%   t   tolg        t   max_itert   verbosei   (   R+   R,   R-   R.   R   R   R   t   None(   R4   R7   R   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt&   test_ridge_regression_convergence_fail’   s    	c          C   sç  t  j j d ƒ }  t d t t f d ƒ } x¶d d f D]¨\ } } |  j | ƒ } |  j | | ƒ } d |  j | ƒ } xe| D]]\ } } }	 t d | d | d |	 d d ƒ }
 |
 j	 | | d | ƒ|
 j
 } |
 j } t  j | ƒ } | t k r	| } t  j | ƒ } nP t  j d | d f ƒ } t  j | | f d d ƒ} t  j | d ƒ } d | d <t j | j j | ƒ j | ƒ | | | j j | ƒ j | ƒ ƒ } | t k r¹t | | ƒ q~ t | | d ƒ t | | d ƒ q~ Wq7 Wd  S(   Ni    g      ð?g{®Gáz„?R$   R&   R'   R%   i   i   i
   R)   t   fit_interceptR#   RM   gíµ ÷Æ°>R*   R1   i   RD   (   g      ð?g{®Gáz„?(   R$   R&   R'   R%   (   i   i   (   i   i
   (   i    i    (   R+   R,   R-   R   t   Truet   FalseR.   RG   R   R/   R0   t
   intercept_t   diagt   eyeR3   RE   R    t   solveR>   R=   R   R   (   R4   t
   param_gridR5   R6   R7   R   R*   R)   t	   interceptR#   t   estRJ   t   intert   Wt   X_augt   It   dummy_columnt   cf_coefs(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridge_sample_weightsœ   s6    			
&c          C   s-  t  j j d ƒ }  d \ } } |  j | | ƒ } |  j | ƒ } | d  d  … t  j f } t  j | d | f } t ƒ  } | j | | ƒ t | j	 j
 | f ƒ t | j j
 d ƒ | j | | ƒ t | j	 j
 d | f ƒ t | j j
 d ƒ | j | | ƒ t | j	 j
 d | f ƒ t | j j
 d	 ƒ d  S(
   Ni    i   i
   i   i   (   i   i
   (    (   i   (   i   (   R+   R,   R-   R.   RI   t   c_R   R/   R   R0   R1   RU   (   R4   R5   R6   R   R7   t   Y1t   YR8   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridge_shapesÊ   s     	c          C   s¸   t  j j d ƒ }  d \ } } |  j | | ƒ } |  j | ƒ } t  j | d | f } t ƒ  } | j | | ƒ | j } | j | | ƒ t | j d | ƒ t | j d | d ƒ d  S(   Ni    i   i
   g      ð?i   (   i   i
   (	   R+   R,   R-   R.   Rc   R   R/   RU   R   (   R4   R5   R6   R   R7   Re   R8   RZ   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridge_interceptâ   s    		c          C   s=  t  j d g d g g ƒ }  t  j d d g ƒ } t d d ƒ } | j |  | ƒ d g d g d g d g g } t | j | ƒ d d d d g ƒ t t | j j	 ƒ d ƒ t t
 | j ƒ t  j ƒ t  j | | f ƒ j } | j |  | ƒ d g d g d g d g g } t t | j j	 ƒ d ƒ t t
 | j ƒ t  j ƒ d  S(   Ni   i   R)   g        i   i   g      ð?(   R+   t   arrayR   R/   R   t   predictR   t   lenR0   R1   t   typeRU   t   float64t   vstackR>   t   ndarray(   R   Re   t   regt   X_test(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_toy_ridge_objectô   s    "c          C   sÍ   t  j j d ƒ }  d \ } } |  j | ƒ } |  j | | ƒ } t d d d t ƒ } t d t ƒ } | j | | ƒ | j | | ƒ t | j	 | j	 ƒ | j | | ƒ | j | | ƒ t | j	 | j	 ƒ d  S(   Ni    i   i   R)   g        RR   (   i   i   (
   R+   R,   R-   R.   R   RT   R   R/   R   R0   (   R4   R5   R6   R7   R   R8   t   ols(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridge_vs_lstsq
  s    c       	   C   s@  t  j j d ƒ }  d \ } } } |  j | | ƒ } |  j | | ƒ } t  j | ƒ } t  j g  t | | j ƒ D]0 \ } } t d | d d ƒ j	 | | ƒ j
 ^ qm ƒ }	 g  d d	 d
 d d d g D]0 }
 t d | d |
 d d ƒ j	 | | ƒ j
 ^ q¿ } x | D] } t |	 | ƒ qü Wt d | d  ƒ } t t | j	 | | ƒ d  S(   Ni*   i   i
   i   R)   R#   R&   R$   R%   R'   R(   t   sagaRM   g:Œ0âŽyE>iÿÿÿÿ(   i   i
   i   (   R+   R,   R-   R.   t   arangeRh   t   zipR>   R   R/   R0   R   R   t
   ValueError(   R4   R5   R6   t	   n_targetsR   R7   t	   penaltiesR)   t   targett   coef_choleskyR#   t   coefs_indiv_pent   coef_indiv_penR8   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridge_individual_penalties  s    ILc          C   sÅ  t  j d } g  } |  t k } | r; t  t  j d ƒ } n t  } t d | ƒ } t d d d | ƒ } | j | t | ƒ } | j d t | Œ \ } }	 | j	 d t | Œ \ }
 }	 g  } g  } x“ t
 | ƒ D]… } t j | ƒ | k } | | } t | } | j | | ƒ | j | | g ƒ d } t | | d } | j | ƒ | j | ƒ qÉ Wt | | ƒ t |
 | ƒ | j | t | ƒ } | j | j t | Œ \ } }	 | j | j t | Œ \ } }	 t | | ƒ t |
 | ƒ | j |  t  ƒ t ƒ | j } | j | ƒ t } t t d t ƒ} t d t d | ƒ } | | j ƒ |  t  ƒ t ƒ t | j | ƒ d „  } t | ƒ } t d t d | ƒ } | | j ƒ |  t  ƒ t ƒ t | j | ƒ t d	 ƒ } t d t d | ƒ } | j |  t  ƒ t ƒ t | j | ƒ | j |  t  ƒ t d
 t j | ƒ ƒt | j | ƒ t j t t f ƒ j } | j |  t  ƒ | ƒ | j |  t  ƒ ƒ } | j |  t  ƒ t ƒ | j |  t  ƒ ƒ } t  t j | | f ƒ j | d d ƒ| S(   Ni    RR   R)   g      ð?i   t   greater_is_bettert   scoringc         S   s   t  |  | ƒ S(   N(   R   (   t   xR7   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyR    v  s    t   neg_mean_squared_errorR*   t   decimali   (!   R<   R1   t   DENSE_FILTERt   meanR   R   t   _pre_computeR:   t   _errorst   _valuest   rangeR+   Ru   R/   Ri   t   appendR   t   _pre_compute_svdt   _errors_svdR)   t   _values_svdt   alpha_R
   R   R   RT   R   R   R   R3   Rm   R>   R   (    t   filter_R5   t   retRR   t   X_diabetes_t	   ridge_gcvR8   t   decompt   errorst   ct   valuest   errors2t   values2t   it   selt   X_newt   y_newt   valuet   errort   errors3t   values3RŽ   t   fR€   t
   ridge_gcv2t   funct
   ridge_gcv3t   scorert
   ridge_gcv4Re   t   Y_predt   y_pred(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   _test_ridge_loo9  sr    

		c         C   sŽ   t  d t d d ƒ } | j |  d t ƒ t ƒ t t d t ƒ d d d i | j d 6ƒ} | j |  d t ƒ t ƒ t | j	 j
 | j ƒ d  S(   Nt	   normalizet   cvi   g      $@RY   R)   (   R   RS   R/   R<   R:   R   R   t   alphasR   t   best_estimator_R)   RŽ   (   R   t   ridge_cvt   gs(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   _test_ridge_cv_normalize•  s    c         C   sß   t  ƒ  } | j |  t ƒ t ƒ | j |  t ƒ ƒ t t | j j ƒ d ƒ t t	 | j
 ƒ t j ƒ t d ƒ } | j d | ƒ | j |  t ƒ t ƒ | j |  t ƒ ƒ t t | j j ƒ d ƒ t t	 | j
 ƒ t j ƒ d  S(   Ni   i   R«   (   R   R/   R<   R:   Ri   R   Rj   R0   R1   Rk   RU   R+   Rl   R   t
   set_params(   R   R®   R«   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   _test_ridge_cvŸ  s    	c         C   sG   t  d t ƒ } | j |  t ƒ t ƒ t j | j |  t ƒ t ƒ d ƒ S(   NRR   i   (   R   RT   R/   R<   R:   R+   t   roundR2   (   R   R8   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   _test_ridge_diabetes°  s    c         C   sÌ   t  j t t f ƒ j } t j d } t d t ƒ } | j |  t ƒ | ƒ t	 | j
 j d | f ƒ | j |  t ƒ ƒ } | j |  t ƒ t ƒ | j |  t ƒ ƒ } t t  j | | f ƒ j | d d ƒd  S(   Ni   RR   i   Rƒ   i   (   R+   Rm   R:   R>   R<   R1   R   RT   R/   R   R0   Ri   R   (   R   Re   R6   R8   R§   R¨   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   _test_multi_ridge_diabetes¶  s    c         C   s  t  j t ƒ j d } t j d } xz t ƒ  t ƒ  f D]f } | j |  t ƒ t ƒ t | j	 j | | f ƒ | j
 |  t ƒ ƒ } t t  j t | k ƒ d ƒ q6 Wt d ƒ } t d | ƒ } | j |  t ƒ t ƒ | j
 |  t ƒ ƒ } t  j t | k ƒ d k st ‚ d  S(   Ni    i   gHáz®Gé?i   R«   gš™™™™™é?(   R+   t   uniquet   y_irisR1   t   X_irisR   R   R/   R   R0   Ri   R   R…   R   t   AssertionError(   R   t	   n_classesR6   Ro   R¨   R«   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   _test_ridge_classifiersÅ  s     c         C   sœ   t  d d d t ƒ } | j |  t ƒ t ƒ | j |  t ƒ t ƒ } t  d d d t ƒ } | j |  t ƒ t ƒ | j |  t ƒ t ƒ } | | k s˜ t ‚ d  S(   NRM   gñhãˆµøä>RR   gü©ñÒMbP?(   R   RT   R/   R<   R:   R2   R¹   (   R   R8   R2   t   ridge2t   score2(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   _test_toleranceÕ  s    c         C   sJ   |  t  ƒ } |  t ƒ } | d  k	 rF | d  k	 rF t | | d d ƒn  d  S(   NRƒ   i   (   R„   t   SPARSE_FILTERRP   R   (   t	   test_funct	   ret_denset
   ret_sparse(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   check_dense_sparseá  s    s    ignore: The default of the `iid`s"   ignore: You should specify a valueRÀ   c         C   s   t  |  ƒ d  S(   N(   RÃ   (   RÀ   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_dense_sparseë  s    c          C   s5   t  j t ƒ }  t d d ƒ } t t | j |  ƒ d  S(   Nt   gcv_modeR$   (   R!   R"   R<   R   R   t	   TypeErrorR/   (   R   R8   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridge_cv_sparse_svdö  s    c          C   sY   t  j t j d d ƒ ƒ }  t j d ƒ } t d d d t ƒ } t t | j |  | ƒ d  S(   Nid   i
   R#   R$   RR   (	   R!   t
   csc_matrixR4   RG   R   RT   R   RÆ   R/   (   R   R7   R8   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridge_sparse_svdü  s    c          C   sù  t  j d d g d d g d d g d d g d d g g ƒ }  d d d d d g } t d d  ƒ } | j |  | ƒ t | j d	 d g g ƒ t  j d g ƒ ƒ t d i d
 d 6ƒ } | j |  | ƒ t | j d	 d g g ƒ t  j d g ƒ ƒ t d d ƒ } | j |  | ƒ t | j d	 d g g ƒ t  j d g ƒ ƒ t  j d d g d d g d d g d d g g ƒ }  d d d d g } t d d  ƒ } | j |  | ƒ t d d ƒ } | j |  | ƒ t t | j	 ƒ d ƒ t
 | j | j ƒ t
 | j | j ƒ d  S(   Ng      ð¿i    gš™™™™™é¿g      ð?g        i   iÿÿÿÿt   class_weightgš™™™™™É?gü©ñÒMbP?t   balancedi   (   R+   Rh   R   RP   R/   R   Ri   R   Rj   t   classes_R   R0   RU   (   R   R7   Ro   t   rega(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_class_weights  s*    !+++3Ro   c         C   s_  |  ƒ  } | j  t j t j ƒ |  d d ƒ } | j  t 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} |  ƒ  } | j  t j t j | ƒ |  d | ƒ } | j  t j t j ƒ t | j | j ƒ |  ƒ  } | j  t j t j | d ƒ |  d | ƒ } | j  t j t j | ƒ t | j | j ƒ d	 S(
   s5   Check class_weights resemble sample_weights behavior.RÊ   RË   i   id   g      ð?i    g      Y@i   N(	   R/   t   irist   dataRz   R   R0   R+   R3   R1   (   Ro   t   reg1t   reg2R*   RÊ   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt"   test_class_weight_vs_sample_weight'  s$    			c          C   sæ   t  j d d g d d g d d g d d g d d g g ƒ }  d d d d d g } t d d  d	 d
 d d g ƒ } | j |  | ƒ t d i d d 6d	 d
 d d d g ƒ } | j |  | ƒ t | j d d g g ƒ t  j d g ƒ ƒ d  S(   Ng      ð¿i    gš™™™™™é¿g      ð?g        i   iÿÿÿÿRÊ   R¬   g{®Gáz„?gš™™™™™¹?gü©ñÒMbP?i
   gš™™™™™É¿i   (   R+   Rh   R   RP   R/   R   Ri   (   R   R7   Ro   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_class_weights_cvE  s    !(c    	      C   sð   t  j j d ƒ }  d } d } |  j | | ƒ } d d d g } t | ƒ } t d | d d  d	 t ƒ } |  j | ƒ } | j | | ƒ | j	 j
 | | f k s£ t ‚ d
 } |  j | | ƒ } | j | | ƒ | j	 j
 | | | f k sì t ‚ d  S(   Ni*   i   i   gš™™™™™¹?g      ð?g      $@R¬   R«   t   store_cv_valuesi   (   R+   R,   R-   R.   Rj   R   RP   RS   R/   t
   cv_values_R1   R¹   (	   R4   R5   R6   R   R¬   t   n_alphast   rR7   Rx   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridgecv_store_cv_valuesV  s    c          C   sa  t  j d d g d d g d d g d d g d d g g ƒ }  t  j d d d d d g ƒ } |  j d } d d d	 g } t | ƒ } t d
 | d d  d t ƒ } d } | j |  | ƒ | j j | | | f k sÔ t	 ‚ t  j d d d d d g d d d d d g d d d d d g g ƒ j
 ƒ  } | j d } | j |  | ƒ | j j | | | f k s]t	 ‚ d  S(   Ng      ð¿i    gš™™™™™é¿g      ð?g        i   iÿÿÿÿgš™™™™™¹?g      $@R¬   R«   RÕ   (   R+   Rh   R1   Rj   R   RP   RS   R/   RÖ   R¹   t	   transpose(   R   R7   R5   R¬   R×   RØ   Rx   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt(   test_ridge_classifier_cv_store_cv_valuesn  s     !!!c          C   s  t  j j d ƒ }  d } xñ d d f D]ã \ } } |  j | ƒ } |  j | | ƒ } d |  j | ƒ } t d ƒ } t d | d	 | ƒ } | j | | d
 | ƒi | d 6}	 t t	 ƒ  |	 d	 | ƒ}
 |
 j | | d
 | ƒ| j
 |
 j j k sò t ‚ t | j |
 j j ƒ q% Wd  S(   Ni    gš™™™™™¹?g      ð?g      $@i   i   i
   R¬   R«   R*   R)   (   gš™™™™™¹?g      ð?g      $@(   i   i   (   i   i
   (   R+   R,   R-   R.   RG   R   R   R/   R   R   RŽ   R­   R)   R¹   R   R0   (   R4   R¬   R5   R6   R7   R   R*   R«   t   ridgecvt
   parametersR¯   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridgecv_sample_weightˆ  s    c    
         s\  d d g }  d d g } t  j j d ƒ } x+t |  | ƒ D]\ } } | j | | ƒ ‰  | j | ƒ ‰ | j | ƒ d d } d } d } | d  d  … t  j f ‰ | t  j d  d  … f ‰ t d d ƒ ‰ ˆ j ˆ  ˆ | ƒ ˆ j ˆ  ˆ | ƒ ˆ j ˆ  ˆ | ƒ ‡  ‡ ‡ ‡ f d †  } ‡  ‡ ‡ ‡ f d	 †  }	 t t	 d
 | ƒ t t	 d
 |	 ƒ q: Wd  S(   Ni   i   i*   i   g      ð?g       @R)   c              s   ˆ j  ˆ  ˆ ˆ ƒ d  S(   N(   R/   (    (   R   R8   t   sample_weights_not_OKR7   (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   fit_ridge_not_ok¹  s    c              s   ˆ j  ˆ  ˆ ˆ ƒ d  S(   N(   R/   (    (   R   R8   t   sample_weights_not_OK_2R7   (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   fit_ridge_not_ok_2¼  s    s)   Sample weights must be 1D array or scalar(
   R+   R,   R-   Rv   R.   RI   R   R/   R   Rw   (
   t
   n_samplesst   n_featuressR4   R5   R6   t   sample_weights_OKt   sample_weights_OK_1t   sample_weights_OK_2Rà   Râ   (    (   R   R8   Rß   Rá   R7   sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt9   test_raises_value_error_if_sample_weights_greater_than_1d¡  s.    c          C   s6  d d g }  d d g } t  j j d ƒ } t j t j t j t j t j g } t	 d d d t
 ƒ } t	 d d d t
 ƒ } x· t |  | ƒ D]¦ \ } } | j | | ƒ } | j | ƒ }	 | j | ƒ d d }
 x_ | D]W } | | ƒ } | j | |	 d |
 ƒ| j | |	 d |
 ƒt | j | j d	 d
 ƒqÓ Wqˆ Wd  S(   Ni   i   i*   R)   g      ð?RR   i   R*   Rƒ   i   (   R+   R,   R-   R!   t
   coo_matrixR"   RÈ   t
   lil_matrixt
   dok_matrixR   RT   Rv   R.   R/   R   R0   (   Rã   Rä   R4   t   sparse_matrix_converterst   sparse_ridget   dense_ridgeR5   R6   R   R7   t   sample_weightst   sparse_convertert   X_sparse(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt&   test_sparse_design_with_sample_weightsÈ  s(    c          C   st   t  j d d g d d g d d g d d g d d g g ƒ }  d d d d d g } t d d ƒ } | j |  | ƒ d  S(   Ng      ð¿i    gš™™™™™é¿g      ð?g        i   iÿÿÿÿR¬   i
   id   (   i   i
   id   (   R+   Rh   R   R/   (   R   R7   R8   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridgecv_int_alphasç  s
    !c          C   s¥   t  j d d g d d g d d g d d g d d g g ƒ }  d d d d d g } t d d ƒ } t t d | j |  | ƒ t d d ƒ } t t d | j |  | ƒ d  S(   Ng      ð¿i    gš™™™™™é¿g      ð?g        i   iÿÿÿÿR¬   iöÿÿÿiœÿÿÿs   alphas cannot be negative.gš™™™™™¹¿g      $À(   iÿÿÿÿiöÿÿÿiœÿÿÿ(   gš™™™™™¹¿g      ð¿g      $À(   R+   Rh   R   R	   Rw   R/   (   R   R7   R8   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridgecv_negative_alphasò  s    !c             s9   d ‰  t  }  d ˆ  } ‡  f d †  } t |  | | ƒ d  S(   Ns5   This is not a solver (MagritteSolveCV QuantumBitcoin)s   Solver %s not understoodc             s;   t  j d ƒ }  t  j d ƒ } t |  | d d d ˆ  ƒd  S(   Ni   R)   g      ð?R#   (   R+   RW   R3   R   (   R   R7   (   t   wrong_solver(    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyR£     s    (   Rw   R   (   t	   exceptiont   messageR£   (    (   Rõ   sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt/   test_raises_value_error_if_solver_not_supported  s
    
c          C   sG   t  d d d d ƒ }  |  j t t ƒ t |  j j d t j d ƒ d  S(   NR#   R%   RN   i   i    (   R   R/   R<   R:   R   R0   R1   (   Ro   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_sparse_cg_max_iter  s    c       	   C   sð   d }  t  t } } t j | |  d f ƒ j } xo t d d ƒ D]^ } xU d D]M } t d | d | d	 d
 ƒ } | j | | ƒ t | j	 t j | |  ƒ ƒ qK Wq> WxI d D]A } t d | d d d	 d ƒ } | j | | ƒ t
 | j	 d  ƒ q§ Wd  S(   Ni   i   i   R(   Rt   R'   R#   RN   RM   gê-™—q=R%   R$   R&   gš™™™™™¹?(   R(   Rt   R'   (   R%   R$   R&   (   R<   R:   R+   t   tileR>   R‰   R   R/   R   t   n_iter_R   RP   (   Rx   R   R7   t   y_nRN   R#   Ro   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_n_iter  s    $c          C   s<  t  d d d d d d d d d d	 ƒ \ }  } t j |  ƒ } xœ d
 d g D]Ž } t d d d d d | d t ƒ } t d d d d d | d t ƒ } | j |  | ƒ | j | | ƒ t | j | j ƒ t | j	 | j	 ƒ qI Wt d d d d d d d t ƒ } t
 t | j | | ƒ t | j | j ƒ t | j	 | j	 ƒ d  S(   NR5   iè  R6   i   t   n_informativet   biasg      $@t   random_statei*   Rt   R(   R)   g      ð?RM   gVçž¯Ò<R#   RR   R'   (   R   R!   R"   R   RS   R/   R   RU   R   R0   R   t   UserWarning(   R   R7   t   X_csrR#   t   denset   sparse(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_ridge_fit_intercept_sparse/  s    !!!c          C   s2  t  ƒ  }  t d ƒ } d } d } | j | ƒ } | j | ƒ } | j t | ƒ t | ƒ ƒ } | j j | ƒ } |  j | | | | | ƒ \ } }	 |  j | | | | | ƒ \ }
 } t j	 j
 |
 |	 | d ƒ t j	 j
 |	 |	 ƒ |  j | | | | | ƒ \ }
 } t j	 j
 |
 | |	 | ƒ t j	 j
 | |	 ƒ d  S(   Ni*   g      ð?i   i   (   R   R   R.   Rj   R>   R=   t   _errors_and_values_helperR‡   R+   t   testingR   Rˆ   (   RÜ   R4   R)   t   nR7   t   vt   Qt   QT_yt   G_diagR•   t   outRc   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_errors_and_values_helperC  s    	!!!c          C   s@  t  ƒ  }  t d ƒ } d } xt d d	 ƒ D]\ } } | j | ƒ } | j | ƒ } | j | | ƒ } | j j | ƒ } |  j | | | | | ƒ \ }	 }
 |  j | | | | | ƒ \ } } t j	 j
 | |
 |	 d ƒ t j	 j
 |
 |
 ƒ |  j | | | | | ƒ \ } } t j	 j
 | | |
 |	 ƒ t j	 j
 | |
 ƒ q+ Wd  S(
   Ni*   g      ð?i   i
   i   i   i   (   i   i
   (   i   i   (   R   R   Rv   R.   R>   R=   t   _errors_and_values_svd_helperRŒ   R+   R  R   R   (   RÜ   R4   R)   R  t   pR7   R	  t   Ut   UT_yR  R•   R  Rc   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt!   test_errors_and_values_svd_helperX  s    	!!!c          C   s8   t  d d d d ƒ \ }  } t t t ƒ  j |  | ƒ d  S(   NR5   i
   R   i    (   R   R   Rw   R   R/   (   R   R7   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt+   test_ridge_classifier_no_support_multilabelm  s    c          C   sw  t  j j d ƒ }  d } d \ } } |  j | | ƒ } |  j | ƒ } | j t  j ƒ } | j t  j ƒ } d d d d g } xõ | D]í }	 t d	 | d
 |	 ƒ }
 |
 j | | ƒ |
 j } t d	 | d
 |	 ƒ } | j | | ƒ | j } | j	 | j	 k sü t
 ‚ | j	 | j	 k st
 ‚ |
 j | ƒ j	 | j	 k s5t
 ‚ | j | ƒ j	 | j	 k sVt
 ‚ t |
 j | j d d ƒq‚ Wd  S(   Ni    g      ð?i   i   R$   R%   R&   R'   R)   R#   Rƒ   (   i   i   (   R+   R,   R-   R.   t   astypet   float32R   R/   R0   t   dtypeR¹   Ri   R   (   R4   R)   R5   R6   t   X_64t   y_64t   X_32t   y_32t   solversR#   t   ridge_32t   coef_32t   ridge_64t   coef_64(    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_dtype_matchr  s(    		!!c          C   sZ  t  j j d ƒ }  d } d \ } } } |  j | | ƒ } |  j | | ƒ } | j t  j ƒ } | j t  j ƒ } t d | d d	 ƒ }	 |	 j | | ƒ |	 j }
 t d | d d	 ƒ } | j | | ƒ | j } |
 j	 | j	 k sã t
 ‚ | j	 | j	 k sû t
 ‚ |	 j | ƒ j	 | j	 k st
 ‚ | j | ƒ j	 | j	 k s=t
 ‚ t |	 j | j d
 d ƒd  S(   Ni    g      ð?g      à?i   i   i   R)   R#   R&   Rƒ   i   (   g      ð?g      à?(   i   i   i   (   R+   R,   R-   R.   R  R  R   R/   R0   R  R¹   Ri   R   (   R4   R)   R5   R6   t   n_targetR  R  R  R  R  R  R  R   (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   test_dtype_match_cholesky‘  s$    		!!(   R$   R%   R&   R'   R(   (p   t   numpyR+   t   scipy.sparseR  R!   t   scipyR    t	   itertoolsR   t   pytestt   sklearn.utils.testingR   R   R   R   R   R   R   R	   R
   R   t   sklearn.exceptionsR   t   sklearnR   t   sklearn.metricsR   R   R   t   sklearn.linear_model.baseR   t   sklearn.linear_model.ridgeR   R   R   R   R   R   R   R   t   sklearn.datasetsR   t   sklearn.model_selectionR   R   t   sklearn.utilsR   R   t   load_diabetest   diabetesRÐ   Rz   R<   R:   Ru   R1   t   indR,   R-   R4   t   shufflet	   load_irisRÏ   R"   R¸   R·   R„   R¿   t   markt   parametrizeR9   RC   RF   RL   RQ   Rb   Rf   Rg   Rq   Rs   R~   R©   R°   R²   R´   Rµ   R»   R¾   RÃ   t   filterwarningsRÄ   RÇ   RÉ   RÎ   RÓ   RÔ   RÙ   RÛ   RÞ   Rè   Rò   Ró   Rô   Rø   Rù   Rý   R  R  R  R  R!  R#  (    (    (    sD   lib/python2.7/site-packages/sklearn/linear_model/tests/test_ridge.pyt   <module>   s¼   
			%					
	.						\	
						
					$'	'								