def transform(self, X): X = safe_get_values(X) key_factory = self._get_key_factory(X) result = np.empty(X.shape[0]) for i, row in enumerate(X): key = key_factory(row) result[i] = self.get_probability(key) return result
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 transform(self, X): X = safe_get_values(X) if self._offset > 0: X = X + self._offset return np.digitize(X, self.bin_edges)