def __call__(self, data): if not isinstance(data, pd.Series): data = pd.Series(data) model = Earth(max_terms=self.max_terms) model.forward_pass(data.index, data.values) spls_coeffs = np.zeros(self.max_terms // 2) i = 0 #print(len(model.basis_)) for basis_func in model.basis_: #print(basis_func) if isinstance(basis_func, ConstantBasisFunction): continue if isinstance(basis_func, LinearBasisFunction): continue knot = basis_func.get_knot() if (spls_coeffs[i] == knot): i += 1 continue else: spls_coeffs[i] = knot return spls_coeffs[:]