def set_number_features_evaluated_split(self, row):
"""
Sets the number of considered features at each split depending on the
max_split_features parameter.
:param row: A single row of the features of shape (nb_features)
"""
if isinstance(self.max_split_features, int):
self.considered_features = self.max_split_features if \
self.max_split_features <= len(row) else len(row)
elif isinstance(self.max_split_features, str):
if self.max_split_features in ['auto','sqrt']:
self.considered_features = int(sqrt(len(row)))
elif self.max_split_features == 'log2':
self.considered_features = int(log2(len(row)))
else:
self.considered_features = len(row)
评论列表
文章目录