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
56b98445
Commit
56b98445
authored
Mar 08, 2017
by
wxchan
Committed by
Guolin Ke
Mar 08, 2017
Browse files
refine LGBMClassifier metric (#338)
parent
586d53fb
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
11 additions
and
3 deletions
+11
-3
docs/Python-API.md
docs/Python-API.md
+2
-1
python-package/lightgbm/sklearn.py
python-package/lightgbm/sklearn.py
+9
-2
No files found.
docs/Python-API.md
View file @
56b98445
...
@@ -748,7 +748,8 @@ The methods of each Class is in alphabetical order.
...
@@ -748,7 +748,8 @@ The methods of each Class is in alphabetical order.
eval_metric : str, list of str, callable, optional
eval_metric : str, list of str, callable, optional
If a str, should be a built-in evaluation metric to use.
If a str, should be a built-in evaluation metric to use.
If callable, a custom evaluation metric, see note for more details.
If callable, a custom evaluation metric, see note for more details.
default: binary_error for LGBMClassifier, l2 for LGBMRegressor, ndcg for LGBMRanker
default: logloss for LGBMClassifier, l2 for LGBMRegressor, ndcg for LGBMRanker
Can directly use 'logloss' or 'error' for LGBMClassifier.
early_stopping_rounds : int
early_stopping_rounds : int
verbose : bool
verbose : bool
If `verbose` and an evaluation set is used, writes the evaluation
If `verbose` and an evaluation set is used, writes the evaluation
...
...
python-package/lightgbm/sklearn.py
View file @
56b98445
...
@@ -558,7 +558,7 @@ class LGBMClassifier(LGBMModel, LGBMClassifierBase):
...
@@ -558,7 +558,7 @@ class LGBMClassifier(LGBMModel, LGBMClassifierBase):
sample_weight
=
None
,
init_score
=
None
,
sample_weight
=
None
,
init_score
=
None
,
eval_set
=
None
,
eval_sample_weight
=
None
,
eval_set
=
None
,
eval_sample_weight
=
None
,
eval_init_score
=
None
,
eval_init_score
=
None
,
eval_metric
=
"
binary_
logloss"
,
eval_metric
=
"logloss"
,
early_stopping_rounds
=
None
,
verbose
=
True
,
early_stopping_rounds
=
None
,
verbose
=
True
,
feature_name
=
'auto'
,
categorical_feature
=
'auto'
,
feature_name
=
'auto'
,
categorical_feature
=
'auto'
,
callbacks
=
None
):
callbacks
=
None
):
...
@@ -570,8 +570,15 @@ class LGBMClassifier(LGBMModel, LGBMClassifierBase):
...
@@ -570,8 +570,15 @@ class LGBMClassifier(LGBMModel, LGBMClassifierBase):
if
self
.
n_classes
>
2
:
if
self
.
n_classes
>
2
:
# Switch to using a multiclass objective in the underlying LGBM instance
# Switch to using a multiclass objective in the underlying LGBM instance
self
.
objective
=
"multiclass"
self
.
objective
=
"multiclass"
if
eval_metric
==
"
binary_logloss
"
:
if
eval_metric
==
'logloss'
or
eval_metric
==
'
binary_logloss
'
:
eval_metric
=
"multi_logloss"
eval_metric
=
"multi_logloss"
elif
eval_metric
==
'error'
or
eval_metric
==
'binary_error'
:
eval_metric
=
"multi_error"
else
:
if
eval_metric
==
'logloss'
or
eval_metric
==
'multi_logloss'
:
eval_metric
=
'binary_logloss'
elif
eval_metric
==
'error'
or
eval_metric
==
'multi_error'
:
eval_metric
=
'binary_error'
if
eval_set
is
not
None
:
if
eval_set
is
not
None
:
eval_set
=
[(
x
[
0
],
self
.
_le
.
transform
(
x
[
1
]))
for
x
in
eval_set
]
eval_set
=
[(
x
[
0
],
self
.
_le
.
transform
(
x
[
1
]))
for
x
in
eval_set
]
...
...
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