rn.utils.validation import check_array, check_is_fitted


class RuleSet:

    def _extract_rules(self, X, y):
        pass

    def _score_rules(self, X, y, rules):
        pass

    def _prune_rules(self, rules):
        pass

    def _eval_weighted_rule_sum(self, X) -&gt; np.ndarray:

        check_is_fitted(self, [&#39;rules_without_feature_names_&#39;, &#39;n_features_&#39;, &#39;feature_placeholders&#39;])
        X = check_array(X)

        if X.shape[1] != self.n_features_:
            raise ValueErr