
    0Phi                        d dl Z d dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZmZmZ d dlmZ d dlmZmZmZ d dlmZmZmZmZ d	Zd
 Zej                            ddgez             ej                            dddg          d                         Z d Z!ej                            dddg          d             Z"d Z#d Z$ej                            dddg          ej                            de          d                         Z%d Z&ej                            de          d             Z'd Z(d Z)d Z*d Z+ej                            ddgez             ej                            d ddg          d!                         Z,d" Z-d# Z.ej                            ddgez             d$             Z/ej                            ddgez             d%             Z0ej                            d&e          d'             Z1ej                            de          d(             Z2ej                            ddgez             ej                            d)d*          d+                         Z3d, Z4ej                            d-dd.g          ej                            ddgez             d/                         Z5ej                            de          d0             Z6ej                            d1g d2          ej                            ddgd3 eD             z             ej                            dddg          d4                                     Z7dS )5    N)linalgsparse)	load_irismake_regressionmake_sparse_uncorrelated)LinearRegression)_preprocess_data_rescale_datamake_dataset)add_dummy_feature)assert_allcloseassert_array_almost_equalassert_array_equal)COO_CONTAINERSCSC_CONTAINERSCSR_CONTAINERSLIL_CONTAINERSư>c                     dgdgg} ddg}t                      }|                    | |           t          |j        dg           t          |j        dg           t          |                    |           ddg           dgg} dg}t                      }|                    | |           t          |j        dg           t          |j        dg           t          |                    |           dg           d S )N      r   )r   fitr   coef_
intercept_predict)XYregs      d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sklearn/linear_model/tests/test_base.pytest_linear_regressionr    !   s     qc
A	
AA


CGGAqMMMci!---cnqc222ckk!nnq!f555 A	
A


CGGAqMMMci!---cnqc222ckk!nnqc22222    sparse_containerfit_interceptTFc                    t           j                            |          }d\  }}|                    ||f          }|  | |          }|                    |          }d|                    |          z   }t          |          }	|	                    |||           |	j        }
|	j        }|	j        j	        |j	        d         fk    sJ t          j
        |          }|s|nt          |          }|j        |z  |z  }|j        |z  |z  }t          j        ||          }|st          |
|           d S t          |
|dd                     t          ||d                    d S )N)      )size      ?r#   sample_weightr   r   )nprandomRandomStatenormaluniformr   r   r   r   shapediagr   Tr   solver   )r"   r#   global_random_seedrng	n_samples
n_featuresr   yr+   r   coefs1inter1WX_augXwywcoefs2s                    r   %test_linear_regression_sample_weightsrA   9   s|   
 )

 2
3
3C !Iz

J/
00A#Q

	
""A#++9+555M 
7
7
7CGGAqG...YF^F9?qwqzm++++ 	A"<AA(9!(<(<E	1u	B	1qB\"b!!F +'''''qrr
+++q	*****r!   c                     d} t          j        d          }t          j        d          }t	          d          }t          j        t          |           5  |                    ||           d d d            d S # 1 swxY w Y   d S )Nz9Sparse data was passed for X, but dense data is required.
   Tpositivematch)	r   eyer,   onesr   pytestraises	TypeErrorr   )	error_msgr   r9   r   s       r   .test_raises_value_error_if_positive_and_sparserN   b   s    KI
2A
A
D
)
)
)C	y		2	2	2  1                 s   A::A>A>zn_samples, n_features)r      )rO   r   c                 ~   t           j                            d          }|                    | |          }|                    |           }|                    |           dz  dz   }d}d}t	                      }|                    |||           |                    |||           |                    |||           d S )Nr   r   r   r(   g       @)r,   r-   r.   randnr   r   )	r7   r8   r6   r   r9   sample_weights_OKsample_weights_OK_1sample_weights_OK_2r   s	            r   9test_raises_value_error_if_sample_weights_greater_than_1drU   n   s     )


"
"C		)Z((A		)A		),,1A5


C GGAq#$$$GGAq%&&&GGAq%&&&&&r!   c                  Z   t          j        ddgddgg          } t          j        g dg dg          }t          j        ddg          }t          d	                              | |          }t                                          | |          }t          d	                              ||          }t                                          ||          }|j        j        |j        j        k    sJ |j        j        |j        j        k    sJ |j        j        |j        j        k    sJ d S )
NgmGB?g\^?gL+K?gfiU?)g&/)¶?g <E/?gMd?)g".Hw?g%|?g0e?r   Fr)   )r,   arrayr   r   r   r1   ndim)X2X3r9   lr2_without_interceptlr2_with_interceptlr3_without_interceptlr3_with_intercepts          r   test_fit_interceptr_      s5   	J
+j*-EF	G	GB		-	-	-/S/S/ST
 
B 	!QA,5AAAEEb!LL)++//A66,5AAAEEb!LL)++//A66#)-B-H-NNNNN#)-B-H-NNNNN &+/D/J/OOOOOOOr!   c                    t           j                            |           }d}t          j        ||          }|                    |          }||z  }t                      }|                    ||                                           t          ||j
        |j        z              t          |                    |          |                                z
  d           d S )Nd   r   )r,   r-   r.   r   rH   randr   r   ravelr   r   r   r   )r5   r6   nr   betar9   olss          r   test_linear_regression_sparserg      s    
)

 2
3
3CA
1aA88A;;D	DA


CGGAqwwyydCI$>???ckk!nnqwwyy8!<<<<<r!   csr_containerc                    t           j                            d          }d}d}|                    ||          }d||dk     <    ||          }|                    |          }t          |           }t          di |}	t          di |}
|	                    ||           |
                    ||           |	j        t          j
        |
j                  k    sJ t          |	j        |
j                   d S )Nr      r           g?r)    )r,   r-   r.   rQ   rb   dictr   r   r   rJ   approxr   r   )r#   rh   r6   r7   r8   r   Xcsrr9   params	clf_dense
clf_sparses              r   )test_linear_regression_sparse_equal_densers      s     )


"
"CIJ		)Z((AAa#gJ=DA...F **6**I!++F++JMM!QNN46=1F#G#GGGGGIOZ%566666r!   c                      t           j                            d          } t          |           \  }}t          j        ||f          j        }|j        d         }t                      }|                    ||           |j	        j        d|fk    sJ |
                    |          }|                    ||           |
                    |          }t          t          j        ||f          j        |d           d S )Nr   random_stater   r   rO   decimal)r,   r-   r.   r   vstackr3   r1   r   r   r   r   r   )r6   r   r9   r   r8   r   Y_predy_preds           r   'test_linear_regression_multiple_outcomer|      s    
)


"
"C,,,DAq
	1a&AJ


CGGQOOO9?q*o----[[^^FGGAqMMM[[^^Fbi(899;VQOOOOOOr!   coo_containerc                 :   t           j                            |           }t          |          \  }} ||          }t          j        ||f          j        }|j        d         }t                      }|                    ||           |j	        j        d|fk    sJ |
                    |          }|                    ||                                           |
                    |          }	t          t          j        |	|	f          j        |d           d S )Nru   r   r   rO   rw   )r,   r-   r.   r   ry   r3   r1   r   r   r   r   rc   r   )
r5   r}   r6   r   r9   r   r8   rf   rz   r{   s
             r   .test_linear_regression_sparse_multiple_outcomer      s     )

 2
3
3C#555DAqaA
	1a&AJ


CGGAqMMM9?q*o----[[^^FGGAqwwyy[[^^Fbi(899;VQOOOOOOr!   c                     dgdgg} ddg}t          d          }|                    | |           t          |j        dg           t          |j        dg           t          |                    |           ddg           dgg} dg}t          d          }|                    | |           t          |j        dg           t          |j        dg           t          |                    |           dg           d S )Nr   r   TrD   r   )r   r   r   r   r   r   r   )r   r9   r   s      r   test_linear_regression_positiver      s    
qc
A	
AA
D
)
)
)CGGAqMMMci!---cnqc222ckk!nnq!f555 A	
A
D
)
)
)CGGAqMMMCIs###CNQC(((CKKNNQC(((((r!   c                 b   t           j                            |           }t          |          \  }}t          j        ||f          j        }|j        d         }t          d          }|                    ||           |j	        j        d|fk    sJ t          j
        |j	        dk              sJ |                    |          }|                    ||                                           |                    |          }t          t          j        ||f          j        |           d S )Nru   r   TrD   r   rk   )r,   r-   r.   r   ry   r3   r1   r   r   r   allr   rc   r   )	r5   r6   r   r9   r   r8   rf   rz   r{   s	            r   0test_linear_regression_positive_multiple_outcomer      s   
)

 2
3
3C#555DAq
	1a&AJ
D
)
)
)CGGAqMMM9?q*o----6#)s"#####[[^^FGGAqwwyy[[^^FBIvv.//16:::::r!   c                 V   t           j                            |           }t          |          \  }}t	          d          }|                    ||           t	          d          }|                    ||           t          j        |j        |j        z
  dz            dk    sJ d S )Nru   TrD   Fr   gMbP?)r,   r-   r.   r   r   r   meanr   )r5   r6   r   r9   r   regns         r   .test_linear_regression_positive_vs_nonpositiver     s    
)

 2
3
3C#555DAq
D
)
)
)CGGAqMMMU+++DHHQNNN7CI
*q011D888888r!   c                    t           j                            |           }d}d}|                    ||          }|d d df         d|d d df         z  z   d|d d df         z  z   d|d d df         z  z   }t	          d	          }|                    ||           t	          d
	          }|                    ||           t          j        |j        |j        z
  dz            dk     sJ d S )Nrj      r   r   r   rO   g      ?TrD   Fr   )r,   r-   r.   rb   r   r   r   r   )r5   r6   r7   r8   r   r9   r   r   s           r   <test_linear_regression_positive_vs_nonpositive_when_positiver     s     )

 2
3
3CIJJ''A	!!!Q$!a1g+AaaadG+cAaaadGm;A
D
)
)
)CGGAqMMMU+++DHHQNNN7CI
*q011D888888r!   use_swc                    t           j                            |          }|                    dd          }|                    dd          }|                    d          }|  | |          }n|                                }|                                }|r|                                }	nd }	t                      }
|
                    |||	           | #t          |	                                |           nt          ||           t          ||           |rt          |	|           t          d          }
|
                    |||	           | #t          |	                                |           n(t           j
                            ||z
            dk    sJ t          ||           |rt          |	|           d S d S )NrC      r   r*   F)copy_XgzG?)r,   r-   r.   rQ   rb   copyr   r   r   toarrayr   norm)r"   r   r5   r6   original_X_dataoriginal_y_dataorginal_sw_datar   r9   r+   r   s              r   test_inplace_data_preprocessingr     s   
 )

 2
3
3CiiB''OiiA&&OhhrllO#_--  ""A  ',,.. 

CGGAqG...#		_5555?+++A''' 8777 %
(
(
(CGGAqG...# 			_5555
 y~~a/122T9999 A''' 8777778 8r!   c                     t          j        d          } |                     dt          j                            d          i          }t          dd          D ]\}t          j                            d          }d|d d<   |dk    r| j                            |d          }||t          |          <   ]d	}t                      }t          j        t          |
          5  |                    |j        d d ddf         |j        d d df                    d d d            n# 1 swxY w Y   | j                            |d         d          |d<   t          |d          sJ t!          j                    5  t!          j        dt                     |                    |j        d d ddf         |j        d d df                    d d d            d S # 1 swxY w Y   d S )Npandas0rC   r   r   r      )
fill_valuez+pandas.DataFrame with sparse columns found.rF   r   rO   r   error)rJ   importorskip	DataFramer,   r-   rQ   rangearraysSparseArraystrr   warnsUserWarningr   ilochasattrwarningscatch_warningssimplefilter)pddfcolarrmsgr   s         r   2test_linear_regression_pd_sparse_dataframe_warningr   W  sE   		X	&	&B 
sBIOOB//0	1	1BQ{{  ioob!!BQB!88)'''::C3s88
7C


C	k	-	-	- 0 01Q3A///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i##BsG#::BsG2x     		 	"	" 0 0g{3331Q3A///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s%   !7D$$D(+D(9AGGGc                    t           j                            |           }d}d}|                    ||          }|                    |          }t          j        |d          }t          j        |d          }t          ||d          \  }}	}
}}t          |
t          j        |                     t          |d           t          |t          j        |                     t          ||           t          |	|           t          ||d          \  }}	}
}}t          |
|           t          ||           t          |t          j        |                     t          |||z
             t          |	||z
             d S )Nrj   r   r   axisFr)   T)	r,   r-   r.   rb   r   r	   r   zerosrI   )r5   r6   r7   r8   r   r9   expected_X_meanexpected_y_meanXtytX_meany_meanX_scales                r   test_preprocess_datar   s  sz   
)

 2
3
3CIJJ''AAgaa(((Ogaa(((O&6q!5&Q&Q&Q#BFFGfbhz&:&:;;;fa(((grwz':':;;;b!$$$b!$$$&6q!4&P&P&P#BFFGfo666fo666grwz':':;;;b!o"5666b!o"566666r!   c                    t           j                            |           }d}d}d}|                    ||          }|                    ||          }t          j        |d          }| ||          }t          ||d          \  }	}
}	}}	t          |t          j        |                     t          |
|           t          ||d          \  }	}
}	}}	t          ||           t          |
||z
             d S )	Nrj   rO   r   r   r   Fr)   T)r,   r-   r.   rb   r   r	   r   r   )r5   r"   r6   r7   r8   	n_outputsr   r9   r   _r   r   s               r    test_preprocess_data_multioutputr     s	   
)

 2
3
3CIJIJ''AI&&Agaa(((O#Q*1auEEEAr1fafbhy&9&9:::b!$$$*1atDDDAr1fafo666b!f*-----r!   c                 f   t           j                            |          }d}d}|                    ||          }d||dk     <   |d d dfxx         dz  cc<   d|d d df<   d|d d d	f<   |                    |          }|                    |          }t          j        |d|
          }t          j        |d|
          }	t          j        ||d          }
t          j        ||
z
  dz  |d          }|dt          j        |j                  j        z  k     }t          |g d           t          j	        |          t          j	        |
                                          z  }d||<   |  | |          }t          ||d|          \  }}}}}t          ||           t          ||	           t          |t          j        |                     | 5t          |                                |                                           nt          |||z
             t          |||	z
             d S )Nrj   r   rk         ?r   rC   r(   r   rO   )r   weights)r   r   )r   r   r   r   r   T)r#   r+   )r,   r-   r.   rb   averagefinfodtypeepsr   sqrtsumr	   r   rI   r   )r"   r5   r6   r7   r8   r   r9   r+   r   r   X_sample_weight_avgX_sample_weight_varconstant_maskexpected_X_scaler   r   r   r   r   s                      r   test_preprocess_data_weightedr     s\   
)

 2
3
3CIJ
 	J''AAa#gJ aaadGGGrMGGG AaaadG AaaadGAHHY''MjMBBBOjMBBBO*QAFFF*	
 	 Q&A   ("rx/@/@/D*DDM}lll333w233bgm>O>O>Q>Q6R6RR '(]##Q '7		#	' ' '#BFFG fo666fo666grwz':':;;;#!"**,,		<<<<!"a/&9:::b!o"566666r!   lil_containerc                    t           j                            |           }d}d}t          j        ||d|          } ||          }|                    |          }|                                }t          ||d          \  }}	}
}}t          |
t          j        |                     t          |d           t          |t          j	        |                     t          |                                |           t          |	|           t          ||d          \  }}	}
}}t          |
t          j
        |d	                     t          |t          j
        |d	                     t          |t          j	        |                     t          |                                |           t          |	|t          j
        |d	          z
             d S )
Nrj   r   r   )densityrv   Fr)   r   Tr   )r,   r-   r.   r   rb   r   r	   r   r   rI   r   )r5   r   r6   r7   r8   r   r9   XAr   r   r   r   r   s                r   #test_sparse_preprocess_data_offsetsr     s   
)

 2
3
3CIJIz3SIIIAaAA	
B&6q!5&Q&Q&Q#BFFGfbhz&:&:;;;fa(((grwz':':;;;bjjllB///b!$$$&6q!4&P&P&P#BFFGfbgbq&9&9&9:::fbgaa&8&8&8999grwz':':;;;bjjllB///b!bgaa&8&8&8"899999r!   c                     t                      \  }}d||dk     <    | |          }t          ||d          \  }}}}}|j        dk    sJ d S )Nrk         @Tr)   csr)r   r	   format)rh   r   r9   r   csr_r   s         r   test_csr_preprocess_datar     sg     DAqAa#gJ
-

C'QdCCCD!Q1;%r!   to_copyTFc                    t                      \  }}d||dk     <   |  | |          }t          ||d|d          \  }}}}}|r%| #t          j        |j        |j                  rJ d S |rt          j        ||          rJ d S | #t          j        |j        |j                  sJ d S t          j        ||          sJ d S )Nrk   r   TF)r#   r   check_input)r   r	   r,   may_share_memorydata)r"   r   r   r9   X_y_r   s          r   #test_preprocess_copy_data_no_checksr     s    DAqAa#gJ#Q&	1DwE  OBAq!  *#/&rw7777777	 *&r1-------		%"27AF3333333"2q)))))))r!   c                 `   t           j                            |           }d}d}|                    ||          }|                    |          }t          j        |t           j                  }t          j        |t           j                  }t          j        |t           j                  }t          j        |t           j                  }	dD ]}
t          |||
          \  }}}}}t          ||	|
          \  }}}}}t          ||	|
          \  }}}}}t          |||
          \  }}}}}|j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |j        t           j        k    sJ |	j        t           j        k    sJ t          ||           t          ||           t          ||           t          ||           t          ||           d S )Nrj   r   r   r   r)   )
r,   r-   r.   rb   asarrayfloat32float64r	   r   r   )r5   r6   r7   r8   r   r9   X_32y_32X_64y_64r#   Xt_32yt_32	X_mean_32	y_mean_32
X_scale_32Xt_64yt_64	X_mean_64	y_mean_64
X_scale_64Xt_3264yt_3264X_mean_3264y_mean_3264X_scale_3264Xt_6432yt_6432X_mean_6432y_mean_6432X_scale_6432s                                  r   test_dtype_preprocess_datar     s   
)

 2
3
3CIJJ''AA:arz***D:arz***D:arz***D:arz***D& :: ::9I':
 :
 :
6uiJ :J':
 :
 :
6uiJ DT'D
 D
 D
@+{L DT'D
 D
 D
@+{L {bj(((({bj(((("*,,,,"*,,,,2:----{bj(((({bj(((("*,,,,"*,,,,2:----}
****}
**** BJ.... BJ....!RZ////}
****}
**** BJ.... BJ....!RZ////zRZ''''zRZ''''zRZ''''zRZ''''!%///!%///!)Y777!)Y777!*j9999u:: ::r!   	n_targetsr   c                    t           j                            |          }d}d}d|                    |          z   }|                    ||          }| |                    |          }n|                    ||           }t          j        |          }	||	d d t           j        f         z  }
| ||	z  }n||	d d t           j        f         z  }|8 ||          }|   ||                    dd                    }n ||          }t          |||          \  }}}t          ||	           |>|	                                }|	                                }| |
                                }t          ||
           t          ||           d S )Nrj   r   r(   r   )r,   r-   r.   rb   r   newaxisreshaper
   r   r   rc   )r   r"   r5   r6   r7   r8   r+   r   r9   expected_sqrt_swexpected_rescaled_Xexpected_rescaled_y
rescaled_X
rescaled_ysqrt_sws                  r   test_rescale_datar  ^  s    )

 2
3
3CIJ#((9---MJ''AHHYHHY	**w}--.qqq"*}=="22"2111bj="AA#Q  2q!1!122AA  ##A&3Aq-&H&H#J
GG-...#''))
''))
#))++JJ 3444J 344444r!   c                 \   t                      }|j                            t          j                  }|j                            t          j                  } | |          }t          j        |j        t          j                  }|j                            t          j                  }|j                            t          j                  } | |          }t          j        |j        t          j                  }	t          |||          \  }
}t          |||	          \  }}|

                                \  }}}}|
                                \  }}}}|\  }}}|\  }}}|j        t          j        k    sJ |j        t          j        k    sJ t          ||t                     t          |||          \  }}t          |||	          \  }}|
                                \  }}}}|
                                \  }}}}|\  }}}|\  }}}|j        t          j        k    sJ |j        t          j        k    sJ t          ||t                     t          ||t                     t          ||           t          ||           t          ||           t          ||           d S )Nr   rtol)r   r   astyper,   r   targetaranger'   r   r   _next_pyr   r   r  r   )rh   irisr   r   X_csr_32sample_weight_32r   r   X_csr_64sample_weight_64
dataset_32r   
dataset_64xi_32yi_32xi_64yi_64
xi_data_32
xi_data_64datasetcsr_32datasetcsr_64xicsr_32yicsr_32xicsr_64yicsr_64xicsr_data_32xicsr_data_64s                              r   test_fused_types_make_datasetr(    s   ;;D9BJ''D;bj))D}T""Hy"*===9BJ''D;bj))D}T""Hy"*=== !t-=>>MJ t-=>>MJ#,,..E5!Q#,,..E5!QJ1J1rz))))rz))))E5t,,,, $Hd4DEEM1#Hd4DEEM1,5577Hh1,5577Hh1"M1a"M1a"*,,,,"*,,,,M=t<<<<HhT2222z=111z=111uh'''uh'''''r!   X_shape))rC   r&   )rC      )ra   ra   c                 v    g | ]6}t          j        |t           j                            d                     7S )z/Known to fail for CSR arrays, see issue #30131.)reason)marks)rJ   parammarkxfail).0	containers     r   
<listcomp>r3    s[         	+##H $  	
 	
 	
  r!   c                    t           j                            |          }| \  }}|                    ||          }|                    |          }| ||          }t	          |          }	t          di |	                    ||d          }
|
j                                        }|r|
j	        }t          j
        |          }|
                    |||           t          |
j        |d           |rt          |
j	        |           d}|
                    |||           t          |
j        |d           |rt          |
j	        |           |                    dd|j        d	         
          }|
                    |||          }
|
j                                        }|r|
j	        }|
                    ||t           j        |z             t          |
j        ||dnd           |rt          |
j	        |           |                                }d	|dd<   |ddxx         dz  cc<   |
                    |||           |
j                                        }|r|
j	        }|
                    |dd         |dd         |dd                    t          |
j        |d           |rt          |
j	        |           |$t          j        ||d|dz           gd          }n#t          j        ||d|dz           gd	          }t          j        ||d|dz           g          }|                                }|d|dz  xx         dz  cc<   t          j        ||d|dz           gd	          }t          di |	                    |||          }t          di |	                    |||          }t          |j        |j        d           |rt          |j	        |j	                   dS dS )zTest that the impact of sample_weight is consistent.

    Note that this test is stricter than the common test
    check_sample_weight_equivalence alone and also tests sparse X.
    It is very similar to test_enet_sample_weight_consistency.
    Nr)   r*   r   r  g     ^@g{Gz?r   r   )lowhighr'   gh㈵>i  csc)r   r   rl   )r,   r-   r.   rb   rm   r   r   r   r   r   	ones_liker   r0   r1   pir   ry   concatenate)r)  r"   r#   r5   r6   r7   r8   r   r9   rp   r   coef	interceptr+   sample_weight_0coef_0intercept_0rY   y2sample_weight_1sample_weight_2reg1reg2s                          r   0test_linear_regression_sample_weight_consistencyrF    s]   0 )

 2
3
3C#IzJ''AA#Q...F

$
$V
$
$
(
(AT
(
B
BC9>>D #N	
 LOOMGGAqG...CIt$//// 3	222 MGGAqG...CIt$//// 3	222 KKDqqwqzKBBM
''!Qm'
4
4C9>>D #N	GGAq 5G666CIt2B2J$$PTUUUU 3	222 $((**OOBCCbccFFFdNFFFGGAqG000Y^^F %nGGAcrcFAcrcF-*<G===CIvD1111 5444 #]Aq!19>!123EBBB^Q"2IN"2 341===	A.	Q./0	1	1B#((**O$i1n$%%%*%%%n	&6	Q&678q  O %%f%%))!Qo)NND%%f%%))"b)PPDDJ
6666 :99999: :r!   )8r   numpyr,   rJ   scipyr   r   sklearn.datasetsr   r   r   sklearn.linear_modelr   sklearn.linear_model._baser	   r
   r   sklearn.preprocessingr   sklearn.utils._testingr   r   r   sklearn.utils.fixesr   r   r   r   r  r    r/  parametrizerA   rN   rU   r_   rg   rs   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r(  rF  rl   r!   r   <module>rP     s                         Q Q Q Q Q Q Q Q Q Q 1 1 1 1 1 1         
 4 3 3 3 3 3         
            3 3 30 +dVn-DEE4-88$+ $+ 98 FE$+N	 	 	 0662BCC' ' DC'"P P P&= = = 4-88.997 7 :9 987$P P P" .99P P :9P") ) ).; ; ;"
9 
9 
99 9 9" +dVn-DEED%=1138 38 21 FE38l0 0 087 7 70 +dVn-DEE. . FE.* +dVn-DEE67 67 FE67r .99: : :9:0 .99    :9  +dVn-DEEM22* * 32 FE**F: F: F:R tQi00+dVn-DEE&5 &5 FE 10&5R .99*( *( :9*(Z $C$C$CDD	F  (  	  5$-88Q: Q: 98  EDQ: Q: Q:r!   