Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
tianlh
LightGBM-DCU
Commits
f83e4aa4
Commit
f83e4aa4
authored
Sep 10, 2018
by
Nikita Titov
Committed by
Guolin Ke
Sep 10, 2018
Browse files
[test] added regression test for subsetting with group (#1654)
parent
5457ef6b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
3 deletions
+21
-3
tests/python_package_test/test_basic.py
tests/python_package_test/test_basic.py
+12
-1
tests/python_package_test/test_engine.py
tests/python_package_test/test_engine.py
+9
-2
No files found.
tests/python_package_test/test_basic.py
View file @
f83e4aa4
...
...
@@ -6,7 +6,7 @@ import unittest
import
lightgbm
as
lgb
import
numpy
as
np
from
sklearn.datasets
import
load_breast_cancer
,
dump_svmlight_file
from
sklearn.datasets
import
load_breast_cancer
,
dump_svmlight_file
,
load_svmlight_file
from
sklearn.model_selection
import
train_test_split
...
...
@@ -78,3 +78,14 @@ class TestBasic(unittest.TestCase):
train_data
.
construct
()
valid_data
.
construct
()
def
test_subset_group
(
self
):
X_train
,
y_train
=
load_svmlight_file
(
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
)),
'../../examples/lambdarank/rank.train'
))
q_train
=
np
.
loadtxt
(
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
)),
'../../examples/lambdarank/rank.train.query'
))
lgb_train
=
lgb
.
Dataset
(
X_train
,
y_train
,
group
=
q_train
)
self
.
assertEqual
(
len
(
lgb_train
.
get_group
()),
201
)
subset
=
lgb_train
.
subset
(
list
(
lgb
.
compat
.
range_
(
10
))).
construct
()
subset_group
=
subset
.
get_group
()
self
.
assertEqual
(
len
(
subset_group
),
2
)
self
.
assertEqual
(
subset_group
[
0
],
1
)
self
.
assertEqual
(
subset_group
[
1
],
9
)
tests/python_package_test/test_engine.py
View file @
f83e4aa4
...
...
@@ -424,9 +424,16 @@ class TestEngine(unittest.TestCase):
# lambdarank
X_train
,
y_train
=
load_svmlight_file
(
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
)),
'../../examples/lambdarank/rank.train'
))
q_train
=
np
.
loadtxt
(
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
)),
'../../examples/lambdarank/rank.train.query'
))
params_lambdarank
=
{
'objective'
:
'lambdarank'
,
'verbose'
:
-
1
}
params_lambdarank
=
{
'objective'
:
'lambdarank'
,
'verbose'
:
-
1
,
'eval_at'
:
3
}
lgb_train
=
lgb
.
Dataset
(
X_train
,
y_train
,
group
=
q_train
)
lgb
.
cv
(
params_lambdarank
,
lgb_train
,
num_boost_round
=
10
,
nfold
=
3
,
stratified
=
False
,
metrics
=
'l2'
,
verbose_eval
=
False
)
# ... with NDCG (default) metric
cv_res
=
lgb
.
cv
(
params_lambdarank
,
lgb_train
,
num_boost_round
=
10
,
nfold
=
3
,
stratified
=
False
,
verbose_eval
=
False
)
self
.
assertEqual
(
len
(
cv_res
),
2
)
self
.
assertFalse
(
np
.
isnan
(
cv_res
[
'ndcg@3-mean'
]).
any
())
# ... with l2 metric
cv_res
=
lgb
.
cv
(
params_lambdarank
,
lgb_train
,
num_boost_round
=
10
,
nfold
=
3
,
stratified
=
False
,
metrics
=
'l2'
,
verbose_eval
=
False
)
self
.
assertEqual
(
len
(
cv_res
),
2
)
self
.
assertFalse
(
np
.
isnan
(
cv_res
[
'l2-mean'
]).
any
())
def
test_feature_name
(
self
):
X
,
y
=
load_boston
(
True
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment