Unverified Commit d4d05fa0 authored by Thomas J. Fan's avatar Thomas J. Fan Committed by GitHub
Browse files

TST Migrates test_consistency.py to pytest (#3798)

parent 4ae4abbe
...@@ -64,77 +64,80 @@ class FileLoader: ...@@ -64,77 +64,80 @@ class FileLoader:
return os.path.join(self.directory, self.prefix + suffix) return os.path.join(self.directory, self.prefix + suffix)
class TestEngine(unittest.TestCase): def test_binary():
fd = FileLoader('../../examples/binary_classification', 'binary')
def test_binary(self): X_train, y_train, _ = fd.load_dataset('.train')
fd = FileLoader('../../examples/binary_classification', 'binary') X_test, _, X_test_fn = fd.load_dataset('.test')
X_train, y_train, _ = fd.load_dataset('.train') weight_train = fd.load_field('.train.weight')
X_test, _, X_test_fn = fd.load_dataset('.test') lgb_train = lgb.Dataset(X_train, y_train, params=fd.params, weight=weight_train)
weight_train = fd.load_field('.train.weight') gbm = lgb.LGBMClassifier(**fd.params)
lgb_train = lgb.Dataset(X_train, y_train, params=fd.params, weight=weight_train) gbm.fit(X_train, y_train, sample_weight=weight_train)
gbm = lgb.LGBMClassifier(**fd.params) sk_pred = gbm.predict_proba(X_test)[:, 1]
gbm.fit(X_train, y_train, sample_weight=weight_train) fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred)
sk_pred = gbm.predict_proba(X_test)[:, 1] fd.file_load_check(lgb_train, '.train')
fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred)
fd.file_load_check(lgb_train, '.train')
def test_binary_linear():
def test_binary_linear(self): fd = FileLoader('../../examples/binary_classification', 'binary', 'train_linear.conf')
fd = FileLoader('../../examples/binary_classification', 'binary', 'train_linear.conf') X_train, y_train, _ = fd.load_dataset('.train')
X_train, y_train, _ = fd.load_dataset('.train') X_test, _, X_test_fn = fd.load_dataset('.test')
X_test, _, X_test_fn = fd.load_dataset('.test') weight_train = fd.load_field('.train.weight')
weight_train = fd.load_field('.train.weight') lgb_train = lgb.Dataset(X_train, y_train, params=fd.params, weight=weight_train)
lgb_train = lgb.Dataset(X_train, y_train, params=fd.params, weight=weight_train) gbm = lgb.LGBMClassifier(**fd.params)
gbm = lgb.LGBMClassifier(**fd.params) gbm.fit(X_train, y_train, sample_weight=weight_train)
gbm.fit(X_train, y_train, sample_weight=weight_train) sk_pred = gbm.predict_proba(X_test)[:, 1]
sk_pred = gbm.predict_proba(X_test)[:, 1] fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred)
fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred) fd.file_load_check(lgb_train, '.train')
fd.file_load_check(lgb_train, '.train')
def test_multiclass(self): def test_multiclass():
fd = FileLoader('../../examples/multiclass_classification', 'multiclass') fd = FileLoader('../../examples/multiclass_classification', 'multiclass')
X_train, y_train, _ = fd.load_dataset('.train') X_train, y_train, _ = fd.load_dataset('.train')
X_test, _, X_test_fn = fd.load_dataset('.test') X_test, _, X_test_fn = fd.load_dataset('.test')
lgb_train = lgb.Dataset(X_train, y_train) lgb_train = lgb.Dataset(X_train, y_train)
gbm = lgb.LGBMClassifier(**fd.params) gbm = lgb.LGBMClassifier(**fd.params)
gbm.fit(X_train, y_train) gbm.fit(X_train, y_train)
sk_pred = gbm.predict_proba(X_test) sk_pred = gbm.predict_proba(X_test)
fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred) fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred)
fd.file_load_check(lgb_train, '.train') fd.file_load_check(lgb_train, '.train')
def test_regression(self):
fd = FileLoader('../../examples/regression', 'regression') def test_regression():
X_train, y_train, _ = fd.load_dataset('.train') fd = FileLoader('../../examples/regression', 'regression')
X_test, _, X_test_fn = fd.load_dataset('.test') X_train, y_train, _ = fd.load_dataset('.train')
init_score_train = fd.load_field('.train.init') X_test, _, X_test_fn = fd.load_dataset('.test')
lgb_train = lgb.Dataset(X_train, y_train, init_score=init_score_train) init_score_train = fd.load_field('.train.init')
gbm = lgb.LGBMRegressor(**fd.params) lgb_train = lgb.Dataset(X_train, y_train, init_score=init_score_train)
gbm.fit(X_train, y_train, init_score=init_score_train) gbm = lgb.LGBMRegressor(**fd.params)
sk_pred = gbm.predict(X_test) gbm.fit(X_train, y_train, init_score=init_score_train)
fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred) sk_pred = gbm.predict(X_test)
fd.file_load_check(lgb_train, '.train') fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred)
fd.file_load_check(lgb_train, '.train')
def test_lambdarank(self):
fd = FileLoader('../../examples/lambdarank', 'rank')
X_train, y_train, _ = fd.load_dataset('.train', is_sparse=True) def test_lambdarank():
X_test, _, X_test_fn = fd.load_dataset('.test', is_sparse=True) fd = FileLoader('../../examples/lambdarank', 'rank')
group_train = fd.load_field('.train.query') X_train, y_train, _ = fd.load_dataset('.train', is_sparse=True)
lgb_train = lgb.Dataset(X_train, y_train, group=group_train) X_test, _, X_test_fn = fd.load_dataset('.test', is_sparse=True)
params = dict(fd.params) group_train = fd.load_field('.train.query')
params['force_col_wise'] = True lgb_train = lgb.Dataset(X_train, y_train, group=group_train)
gbm = lgb.LGBMRanker(**params) params = dict(fd.params)
gbm.fit(X_train, y_train, group=group_train) params['force_col_wise'] = True
sk_pred = gbm.predict(X_test) gbm = lgb.LGBMRanker(**params)
fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred) gbm.fit(X_train, y_train, group=group_train)
fd.file_load_check(lgb_train, '.train') sk_pred = gbm.predict(X_test)
fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred)
def test_xendcg(self): fd.file_load_check(lgb_train, '.train')
fd = FileLoader('../../examples/xendcg', 'rank')
X_train, y_train, _ = fd.load_dataset('.train', is_sparse=True)
X_test, _, X_test_fn = fd.load_dataset('.test', is_sparse=True) def test_xendcg():
group_train = fd.load_field('.train.query') fd = FileLoader('../../examples/xendcg', 'rank')
lgb_train = lgb.Dataset(X_train, y_train, group=group_train) X_train, y_train, _ = fd.load_dataset('.train', is_sparse=True)
gbm = lgb.LGBMRanker(**fd.params) X_test, _, X_test_fn = fd.load_dataset('.test', is_sparse=True)
gbm.fit(X_train, y_train, group=group_train) group_train = fd.load_field('.train.query')
sk_pred = gbm.predict(X_test) lgb_train = lgb.Dataset(X_train, y_train, group=group_train)
fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred) gbm = lgb.LGBMRanker(**fd.params)
fd.file_load_check(lgb_train, '.train') gbm.fit(X_train, y_train, group=group_train)
sk_pred = gbm.predict(X_test)
fd.train_predict_check(lgb_train, X_test, X_test_fn, sk_pred)
fd.file_load_check(lgb_train, '.train')
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment