def fit(self, X, y): self.reset_counts() X = safe_get_values(X) # keeping this variable local because instance method objects # can't e pickled key_factory = self._get_key_factory(X) for row, value in izip(X, y): hit_count = 1 if value == self.target_value else 0 self.grand_total += 1 self.all_hits += hit_count key = key_factory(row) if not check_any_null(key): self.total[key] += 1 self.hits[key] += hit_count
def fit(self, X, y=None): self._offset = 0 minval, maxval = None, None for x in X: if check_any_null(x): continue if minval is None: minval = x maxval = x elif x < minval: minval = x elif x > maxval: maxval = x if self.has_log_bins: if minval <= 0: self._offset = 1 - minval minval += self._offset maxval += self._offset self.bin_edges = np.logspace(np.log10(minval), np.log10(maxval), self.nbins) else: self.bin_edges = np.linspace(minval, maxval, self.nbins)