Example #1
0
    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[:]