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
4887b3b0
Unverified
Commit
4887b3b0
authored
Feb 16, 2023
by
James Lamb
Committed by
GitHub
Feb 16, 2023
Browse files
[python-package] fix mypy errors around eval metrics in sklearn.py (#5719)
parent
bacb33d1
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
8 deletions
+15
-8
python-package/lightgbm/sklearn.py
python-package/lightgbm/sklearn.py
+15
-8
No files found.
python-package/lightgbm/sklearn.py
View file @
4887b3b0
...
@@ -1059,21 +1059,28 @@ class LGBMClassifier(_LGBMClassifierBase, LGBMModel):
...
@@ -1059,21 +1059,28 @@ class LGBMClassifier(_LGBMClassifierBase, LGBMModel):
self
.
_classes
=
self
.
_le
.
classes_
self
.
_classes
=
self
.
_le
.
classes_
self
.
_n_classes
=
len
(
self
.
_classes
)
self
.
_n_classes
=
len
(
self
.
_classes
)
# adjust eval metrics to match whether binary or multiclass
# classification is being performed
if
not
callable
(
eval_metric
):
if
not
callable
(
eval_metric
):
if
isinstance
(
eval_metric
,
(
str
,
type
(
None
))):
if
isinstance
(
eval_metric
,
list
):
eval_metric
=
[
eval_metric
]
eval_metric_list
=
eval_metric
elif
isinstance
(
eval_metric
,
str
):
eval_metric_list
=
[
eval_metric
]
else
:
eval_metric_list
=
[]
if
self
.
_n_classes
>
2
:
if
self
.
_n_classes
>
2
:
for
index
,
metric
in
enumerate
(
eval_metric
):
for
index
,
metric
in
enumerate
(
eval_metric
_list
):
if
metric
in
{
'logloss'
,
'binary_logloss'
}:
if
metric
in
{
'logloss'
,
'binary_logloss'
}:
eval_metric
[
index
]
=
"multi_logloss"
eval_metric
_list
[
index
]
=
"multi_logloss"
elif
metric
in
{
'error'
,
'binary_error'
}:
elif
metric
in
{
'error'
,
'binary_error'
}:
eval_metric
[
index
]
=
"multi_error"
eval_metric
_list
[
index
]
=
"multi_error"
else
:
else
:
for
index
,
metric
in
enumerate
(
eval_metric
):
for
index
,
metric
in
enumerate
(
eval_metric
_list
):
if
metric
in
{
'logloss'
,
'multi_logloss'
}:
if
metric
in
{
'logloss'
,
'multi_logloss'
}:
eval_metric
[
index
]
=
'binary_logloss'
eval_metric
_list
[
index
]
=
'binary_logloss'
elif
metric
in
{
'error'
,
'multi_error'
}:
elif
metric
in
{
'error'
,
'multi_error'
}:
eval_metric
[
index
]
=
'binary_error'
eval_metric_list
[
index
]
=
'binary_error'
eval_metric
=
eval_metric_list
# do not modify args, as it causes errors in model selection tools
# do not modify args, as it causes errors in model selection tools
valid_sets
=
None
valid_sets
=
None
...
...
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