3333
3434n_classes = 2
3535n_folds = 5
36+ temp_dir = 'tmpdw35lg54ms80eb42'
3637
3738X , y = make_classification (n_samples = 500 , n_features = 5 , n_informative = 3 , n_redundant = 1 ,
3839 n_classes = n_classes , flip_y = 0 , random_state = 0 )
4344
4445class TestClassificationMulticlass (unittest .TestCase ):
4546
47+ @classmethod
48+ def setUpClass (cls ):
49+ try :
50+ os .mkdir (temp_dir )
51+ except :
52+ print ('Unable to create temp dir' )
53+
54+ @classmethod
55+ def tearDownClass (cls ):
56+ try :
57+ os .rmdir (temp_dir )
58+ except :
59+ print ('Unable to remove temp dir' )
60+
4661 def tearDown (self ):
4762 # Remove files after each test
48- files = glob .glob ('*.npy' )
49- files .extend (glob .glob ('*.txt' ))
50- for file in files :
51- os .remove (file )
63+ files = glob .glob (os .path .join (temp_dir , '*.npy' ))
64+ files .extend (glob .glob (os .path .join (temp_dir , '*.log.txt' )))
65+ try :
66+ for file in files :
67+ os .remove (file )
68+ except :
69+ print ('Unable to remove temp file' )
5270
5371 #---------------------------------------------------------------------------
5472 # Test returned and saved arrays in each mode (parameter <mode>)
@@ -69,13 +87,13 @@ def test_oof_pred_mode(self):
6987
7088 models = [LogisticRegression ()]
7189 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
72- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
90+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
7391 mode = 'oof_pred' , random_state = 0 , verbose = 0 , stratified = True )
7492
7593 # Load OOF from file
7694 # Normally if cleaning is performed there is only one .npy file at given moment
7795 # But if we have no cleaning there may be more then one file so we take the latest
78- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
96+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
7997 S = np .load (file_name )
8098 S_train_3 = S [0 ]
8199 S_test_3 = S [1 ]
@@ -95,13 +113,13 @@ def test_oof_mode(self):
95113
96114 models = [LogisticRegression ()]
97115 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
98- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
116+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
99117 mode = 'oof' , random_state = 0 , verbose = 0 , stratified = True )
100118
101119 # Load OOF from file
102120 # Normally if cleaning is performed there is only one .npy file at given moment
103121 # But if we have no cleaning there may be more then one file so we take the latest
104- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
122+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
105123 S = np .load (file_name )
106124 S_train_3 = S [0 ]
107125 S_test_3 = S [1 ]
@@ -121,13 +139,13 @@ def test_pred_mode(self):
121139
122140 models = [LogisticRegression ()]
123141 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
124- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
142+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
125143 mode = 'pred' , random_state = 0 , verbose = 0 , stratified = True )
126144
127145 # Load OOF from file
128146 # Normally if cleaning is performed there is only one .npy file at given moment
129147 # But if we have no cleaning there may be more then one file so we take the latest
130- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
148+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
131149 S = np .load (file_name )
132150 S_train_3 = S [0 ]
133151 S_test_3 = S [1 ]
@@ -160,13 +178,13 @@ def test_oof_pred_bag_mode(self):
160178
161179 models = [LogisticRegression ()]
162180 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
163- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
181+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
164182 mode = 'oof_pred_bag' , random_state = 0 , verbose = 0 , stratified = True )
165183
166184 # Load OOF from file
167185 # Normally if cleaning is performed there is only one .npy file at given moment
168186 # But if we have no cleaning there may be more then one file so we take the latest
169- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
187+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
170188 S = np .load (file_name )
171189 S_train_3 = S [0 ]
172190 S_test_3 = S [1 ]
@@ -197,13 +215,13 @@ def test_pred_bag_mode(self):
197215
198216 models = [LogisticRegression ()]
199217 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
200- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
218+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
201219 mode = 'pred_bag' , random_state = 0 , verbose = 0 , stratified = True )
202220
203221 # Load OOF from file
204222 # Normally if cleaning is performed there is only one .npy file at given moment
205223 # But if we have no cleaning there may be more then one file so we take the latest
206- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
224+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
207225 S = np .load (file_name )
208226 S_train_3 = S [0 ]
209227 S_test_3 = S [1 ]
@@ -229,12 +247,12 @@ def test_oof_pred_mode_proba(self):
229247 models = [LogisticRegression ()]
230248 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
231249 regression = False , n_folds = n_folds , shuffle = False , stratified = True ,
232- mode = 'oof_pred' , random_state = 0 , verbose = 0 , needs_proba = True , save_dir = '.' )
250+ mode = 'oof_pred' , random_state = 0 , verbose = 0 , needs_proba = True , save_dir = temp_dir )
233251
234252 # Load OOF from file
235253 # Normally if cleaning is performed there is only one .npy file at given moment
236254 # But if we have no cleaning there may be more then one file so we take the latest
237- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
255+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
238256 S = np .load (file_name )
239257 S_train_3 = S [0 ]
240258 S_test_3 = S [1 ]
@@ -255,12 +273,12 @@ def test_oof_mode_proba(self):
255273 models = [LogisticRegression ()]
256274 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
257275 regression = False , n_folds = n_folds , shuffle = False , stratified = True ,
258- mode = 'oof' , random_state = 0 , verbose = 0 , needs_proba = True , save_dir = '.' )
276+ mode = 'oof' , random_state = 0 , verbose = 0 , needs_proba = True , save_dir = temp_dir )
259277
260278 # Load OOF from file
261279 # Normally if cleaning is performed there is only one .npy file at given moment
262280 # But if we have no cleaning there may be more then one file so we take the latest
263- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
281+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
264282 S = np .load (file_name )
265283 S_train_3 = S [0 ]
266284 S_test_3 = S [1 ]
@@ -281,12 +299,12 @@ def test_pred_mode_proba(self):
281299 models = [LogisticRegression ()]
282300 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
283301 regression = False , n_folds = n_folds , shuffle = False , stratified = True ,
284- mode = 'pred' , random_state = 0 , verbose = 0 , needs_proba = True , save_dir = '.' )
302+ mode = 'pred' , random_state = 0 , verbose = 0 , needs_proba = True , save_dir = temp_dir )
285303
286304 # Load OOF from file
287305 # Normally if cleaning is performed there is only one .npy file at given moment
288306 # But if we have no cleaning there may be more then one file so we take the latest
289- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
307+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
290308 S = np .load (file_name )
291309 S_train_3 = S [0 ]
292310 S_test_3 = S [1 ]
@@ -322,13 +340,13 @@ def test_oof_pred_bag_mode_proba(self):
322340
323341 models = [LogisticRegression ()]
324342 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
325- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
343+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
326344 mode = 'oof_pred_bag' , random_state = 0 , verbose = 0 , stratified = True , needs_proba = True )
327345
328346 # Load OOF from file
329347 # Normally if cleaning is performed there is only one .npy file at given moment
330348 # But if we have no cleaning there may be more then one file so we take the latest
331- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
349+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
332350 S = np .load (file_name )
333351 S_train_3 = S [0 ]
334352 S_test_3 = S [1 ]
@@ -371,13 +389,13 @@ def test_pred_bag_mode_proba(self):
371389
372390 models = [LogisticRegression ()]
373391 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
374- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
392+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
375393 mode = 'pred_bag' , random_state = 0 , verbose = 0 , stratified = True , needs_proba = True )
376394
377395 # Load OOF from file
378396 # Normally if cleaning is performed there is only one .npy file at given moment
379397 # But if we have no cleaning there may be more then one file so we take the latest
380- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
398+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
381399 S = np .load (file_name )
382400 S_train_3 = S [0 ]
383401 S_test_3 = S [1 ]
@@ -415,13 +433,13 @@ def test_oof_pred_bag_mode_shuffle(self):
415433
416434 models = [LogisticRegression ()]
417435 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
418- regression = False , n_folds = n_folds , shuffle = True , save_dir = '.' ,
436+ regression = False , n_folds = n_folds , shuffle = True , save_dir = temp_dir ,
419437 mode = 'oof_pred_bag' , random_state = 0 , verbose = 0 , stratified = True )
420438
421439 # Load OOF from file
422440 # Normally if cleaning is performed there is only one .npy file at given moment
423441 # But if we have no cleaning there may be more then one file so we take the latest
424- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
442+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
425443 S = np .load (file_name )
426444 S_train_3 = S [0 ]
427445 S_test_3 = S [1 ]
@@ -450,13 +468,13 @@ def test_oof_mode_metric(self):
450468
451469 models = [LogisticRegression ()]
452470 S_train , S_test = stacking (models , X_train , y_train , X_test ,
453- regression = False , n_folds = n_folds , save_dir = '.' ,
471+ regression = False , n_folds = n_folds , save_dir = temp_dir ,
454472 mode = 'oof' , random_state = 0 , verbose = 0 , stratified = True )
455473
456474 # Load mean score and std from file
457475 # Normally if cleaning is performed there is only one .log.txt file at given moment
458476 # But if we have no cleaning there may be more then one file so we take the latest
459- file_name = sorted (glob .glob ('*.log.txt' ))[- 1 ] # take the latest file
477+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.log.txt' ) ))[- 1 ] # take the latest file
460478 with open (file_name ) as f :
461479 for line in f :
462480 if 'MEAN' in line :
@@ -487,14 +505,14 @@ def test_oof_mode_metric_proba(self):
487505
488506 models = [LogisticRegression ()]
489507 S_train , S_test = stacking (models , X_train , y_train , X_test ,
490- regression = False , n_folds = n_folds , save_dir = '.' ,
508+ regression = False , n_folds = n_folds , save_dir = temp_dir ,
491509 mode = 'oof' , random_state = 0 , verbose = 0 , stratified = True ,
492510 needs_proba = True )
493511
494512 # Load mean score and std from file
495513 # Normally if cleaning is performed there is only one .log.txt file at given moment
496514 # But if we have no cleaning there may be more then one file so we take the latest
497- file_name = sorted (glob .glob ('*.log.txt' ))[- 1 ] # take the latest file
515+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.log.txt' ) ))[- 1 ] # take the latest file
498516 with open (file_name ) as f :
499517 for line in f :
500518 if 'MEAN' in line :
@@ -533,13 +551,13 @@ def test_oof_pred_mode_2_models(self):
533551 models = [LogisticRegression (),
534552 GaussianNB ()]
535553 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
536- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
554+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
537555 mode = 'oof_pred' , random_state = 0 , verbose = 0 , stratified = True )
538556
539557 # Load OOF from file
540558 # Normally if cleaning is performed there is only one .npy file at given moment
541559 # But if we have no cleaning there may be more then one file so we take the latest
542- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
560+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
543561 S = np .load (file_name )
544562 S_train_3 = S [0 ]
545563 S_test_3 = S [1 ]
@@ -596,13 +614,13 @@ def test_oof_pred_bag_mode_2_models(self):
596614 models = [LogisticRegression (),
597615 GaussianNB ()]
598616 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
599- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
617+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
600618 mode = 'oof_pred_bag' , random_state = 0 , verbose = 0 , stratified = True )
601619
602620 # Load OOF from file
603621 # Normally if cleaning is performed there is only one .npy file at given moment
604622 # But if we have no cleaning there may be more then one file so we take the latest
605- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
623+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
606624 S = np .load (file_name )
607625 S_train_3 = S [0 ]
608626 S_test_3 = S [1 ]
@@ -637,12 +655,12 @@ def test_oof_pred_mode_proba_2_models(self):
637655 GaussianNB ()]
638656 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
639657 regression = False , n_folds = n_folds , shuffle = False , stratified = True ,
640- mode = 'oof_pred' , random_state = 0 , verbose = 0 , needs_proba = True , save_dir = '.' )
658+ mode = 'oof_pred' , random_state = 0 , verbose = 0 , needs_proba = True , save_dir = temp_dir )
641659
642660 # Load OOF from file
643661 # Normally if cleaning is performed there is only one .npy file at given moment
644662 # But if we have no cleaning there may be more then one file so we take the latest
645- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
663+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
646664 S = np .load (file_name )
647665 S_train_3 = S [0 ]
648666 S_test_3 = S [1 ]
@@ -708,13 +726,13 @@ def test_oof_pred_bag_mode_proba_2_models(self):
708726 models = [LogisticRegression (),
709727 GaussianNB ()]
710728 S_train_2 , S_test_2 = stacking (models , X_train , y_train , X_test ,
711- regression = False , n_folds = n_folds , shuffle = False , save_dir = '.' ,
729+ regression = False , n_folds = n_folds , shuffle = False , save_dir = temp_dir ,
712730 mode = 'oof_pred_bag' , random_state = 0 , verbose = 0 , stratified = True , needs_proba = True )
713731
714732 # Load OOF from file
715733 # Normally if cleaning is performed there is only one .npy file at given moment
716734 # But if we have no cleaning there may be more then one file so we take the latest
717- file_name = sorted (glob .glob ('*.npy' ))[- 1 ] # take the latest file
735+ file_name = sorted (glob .glob (os . path . join ( temp_dir , '*.npy' ) ))[- 1 ] # take the latest file
718736 S = np .load (file_name )
719737 S_train_3 = S [0 ]
720738 S_test_3 = S [1 ]
0 commit comments