Skip to content

Commit f6ed576

Browse files
committed
Merge branch 'AUTOML-70' into 'development'
fix selector features order See merge request ai-lab-pmo/mltools/automl/LightAutoML!40
2 parents cf2d73e + ba519df commit f6ed576

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

lightautoml/pipelines/selection/base.py

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"""Base class for selection pipelines."""
22

3-
from copy import copy
43
from copy import deepcopy
54
from typing import Any
65
from typing import List
@@ -76,8 +75,10 @@ def selected_features(self) -> List[str]:
7675
7776
"""
7877
assert self._selected_features is not None, "Should be fitted first"
79-
forced_features = self.forced_features if self.forced_features is not None else []
80-
return list(set(self._selected_features + forced_features))
78+
if self.forced_features is None:
79+
return sorted(self._selected_features)
80+
81+
return sorted(set(self._selected_features + self.forced_features))
8182

8283
@selected_features.setter
8384
def selected_features(self, val: List[str]):
@@ -110,8 +111,7 @@ def dropped_features(self) -> List[str]:
110111
list of dropped features.
111112
112113
"""
113-
included = set(self._selected_features)
114-
return [x for x in self._in_features if x not in included]
114+
return [x for x in self._in_features if x not in set(self._selected_features)]
115115

116116
def __init__(
117117
self,
@@ -200,13 +200,11 @@ def select(self, dataset: LAMLDataset) -> LAMLDataset:
200200
New dataset with selected features only.
201201
202202
"""
203-
selected_features = copy(self.selected_features)
204-
205203
# Add forced features
206204
if self.forced_features is None:
207205
self.forced_features = [feature for feature in dataset.features if dataset.roles[feature].force_input]
208206

209-
return dataset[:, set(selected_features + self.forced_features)]
207+
return dataset[:, self.selected_features]
210208

211209
def map_raw_feature_importances(self, raw_importances: Series):
212210
"""Calculate input feature importances.

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "LightAutoML"
3-
version = "0.4.0"
3+
version = "0.4.1.dev2"
44
description = "Fast and customizable framework for automatic ML model creation (AutoML)"
55
authors = [
66
"Alexander Ryzhkov <[email protected]>",

0 commit comments

Comments
 (0)