def _get_split_point_candidates(self):
splits = SortedList()
min_value = math.inf
max_value = -math.inf
for class_val, att_estimator in self._class_lookup.items():
min_val_observed_for_class_val = self._min_val_observed_per_class.get(class_val, None)
if min_val_observed_for_class_val is not None:
if min_val_observed_for_class_val < min_value:
min_value = min_val_observed_for_class_val
max_val_observed_for_class_val = self._max_val_observed_per_class.get(class_val)
if max_val_observed_for_class_val > max_value:
max_value = max_val_observed_for_class_val
if min_value < math.inf:
new_bin = max_value - min_value
new_bin /= (self._num_bins + 1)
for i in range(self._num_bins):
split = min_value + (new_bin * (i + 1))
if split > min_value and split < max_value:
splits.add(split)
return splits
gaussianconditionalsufficientstats.py 文件源码
python
阅读 24
收藏 0
点赞 0
评论 0
评论列表
文章目录