Skip to content

Commit 9acd665

Browse files
committed
fix fss node not returning T/F and not handling cases with only one feature set
1 parent f2f15f4 commit 9acd665

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

tpot/search_spaces/nodes/fss_node.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,21 @@ def __init__( self,
109109
def mutate(self, rng=None):
110110
rng = np.random.default_rng(rng)
111111
#get list of names not including the current one
112-
names = [name for name in self.names_list if name != self.selected_subset_name]
113-
self.selected_subset_name = rng.choice(names)
114-
self.sel_subset = self.subset_dict[self.selected_subset_name]
112+
if len(self.names_list)>1:
113+
names = [name for name in self.names_list if name != self.selected_subset_name]
114+
self.selected_subset_name = rng.choice(names)
115+
self.sel_subset = self.subset_dict[self.selected_subset_name]
116+
return True
117+
else:
118+
return False
115119

116120

117121
def crossover(self, other, rng=None):
122+
if self.selected_subset_name == other.selected_subset_name:
123+
return False
118124
self.selected_subset_name = other.selected_subset_name
119125
self.sel_subset = other.sel_subset
126+
return True
120127

121128
def export_pipeline(self, **kwargs):
122129
return FeatureSetSelector(sel_subset=self.sel_subset, name=self.selected_subset_name)

0 commit comments

Comments
 (0)