1313from  sklearn .utils .testing  import  assert_dict_equal 
1414from  sklearn .utils .testing  import  assert_array_equal 
1515from  sklearn .utils .testing  import  assert_allclose_dense_sparse 
16+ from  sklearn .utils .testing  import  assert_almost_equal 
1617
1718from  sklearn .base  import  BaseEstimator 
1819from  sklearn .externals  import  six 
@@ -373,8 +374,8 @@ def test_column_transformer_mixed_cols_sparse():
373374 dtype = 'O' )
374375
375376 ct  =  make_column_transformer (
376-  ([ 0 ],  OneHotEncoder ()),
377-  ([1 , 2 ],  'passthrough' ),
377+  (OneHotEncoder (), [ 0 ] ),
378+  ('passthrough' ,  [1 , 2 ]),
378379 sparse_threshold = 1.0 
379380 )
380381
@@ -386,8 +387,8 @@ def test_column_transformer_mixed_cols_sparse():
386387 [0 , 1 , 2 , 0 ]]))
387388
388389 ct  =  make_column_transformer (
389-  ([ 0 ],  OneHotEncoder ()),
390-  ([ 0 ],  'passthrough' ),
390+  (OneHotEncoder (), [ 0 ] ),
391+  ('passthrough' , [ 0 ] ),
391392 sparse_threshold = 1.0 
392393 )
393394 with  pytest .raises (ValueError ,
@@ -516,29 +517,47 @@ def predict(self, X):
516517def  test_make_column_transformer ():
517518 scaler  =  StandardScaler ()
518519 norm  =  Normalizer ()
519-  ct  =  make_column_transformer (('first' ,  scaler ), (['second' ],  norm ))
520+  ct  =  make_column_transformer ((scaler ,  'first' ), (norm ,  ['second' ]))
520521 names , transformers , columns  =  zip (* ct .transformers )
521522 assert_equal (names , ("standardscaler" , "normalizer" ))
522523 assert_equal (transformers , (scaler , norm ))
523524 assert_equal (columns , ('first' , ['second' ]))
524525
526+  # XXX remove in v0.22 
527+  with  pytest .warns (DeprecationWarning ,
528+  match = '`make_column_transformer` now expects' ):
529+  ct1  =  make_column_transformer (([0 ], norm ))
530+  ct2  =  make_column_transformer ((norm , [0 ]))
531+  X_array  =  np .array ([[0 , 1 , 2 ], [2 , 4 , 6 ]]).T 
532+  assert_almost_equal (ct1 .fit_transform (X_array ),
533+  ct2 .fit_transform (X_array ))
534+ 
535+  with  pytest .warns (DeprecationWarning ,
536+  match = '`make_column_transformer` now expects' ):
537+  make_column_transformer (('first' , 'drop' ))
538+ 
539+  with  pytest .warns (DeprecationWarning ,
540+  match = '`make_column_transformer` now expects' ):
541+  make_column_transformer (('passthrough' , 'passthrough' ),
542+  ('first' , 'drop' ))
543+ 
525544
526545def  test_make_column_transformer_kwargs ():
527546 scaler  =  StandardScaler ()
528547 norm  =  Normalizer ()
529-  ct  =  make_column_transformer (('first' ,  scaler ), (['second' ],  norm ),
548+  ct  =  make_column_transformer ((scaler ,  'first' ), (norm ,  ['second' ]),
530549 n_jobs = 3 , remainder = 'drop' ,
531550 sparse_threshold = 0.5 )
532551 assert_equal (ct .transformers , make_column_transformer (
533-  ('first' ,  scaler ), (['second' ],  norm )).transformers )
552+  (scaler ,  'first' ), (norm ,  ['second' ])).transformers )
534553 assert_equal (ct .n_jobs , 3 )
535554 assert_equal (ct .remainder , 'drop' )
536555 assert_equal (ct .sparse_threshold , 0.5 )
537556 # invalid keyword parameters should raise an error message 
538557 assert_raise_message (
539558 TypeError ,
540559 'Unknown keyword arguments: "transformer_weights"' ,
541-  make_column_transformer , ('first' ,  scaler ), (['second' ],  norm ),
560+  make_column_transformer , (scaler ,  'first' ), (norm ,  ['second' ]),
542561 transformer_weights = {'pca' : 10 , 'Transf' : 1 }
543562 )
544563
@@ -547,7 +566,7 @@ def test_make_column_transformer_remainder_transformer():
547566 scaler  =  StandardScaler ()
548567 norm  =  Normalizer ()
549568 remainder  =  StandardScaler ()
550-  ct  =  make_column_transformer (('first' ,  scaler ), (['second' ],  norm ),
569+  ct  =  make_column_transformer ((scaler ,  'first' ), (norm ,  ['second' ]),
551570 remainder = remainder )
552571 assert  ct .remainder  ==  remainder 
553572
@@ -757,7 +776,7 @@ def test_column_transformer_remainder():
757776 "or estimator." , ct .fit_transform , X_array )
758777
759778 # check default for make_column_transformer 
760-  ct  =  make_column_transformer (([ 0 ],  Trans ()))
779+  ct  =  make_column_transformer ((Trans (), [ 0 ] ))
761780 assert  ct .remainder  ==  'drop' 
762781
763782
0 commit comments