<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def apply_fit_filters(self, choosers, alternatives):
 """ Filter `choosers` and `alternatives` for fitting. This is done by filtering each submodel and concatenating the results. Parameters choosers : pandas.DataFrame Table describing the agents making choices, e.g. households. alternatives : pandas.DataFrame Table describing the things from which agents are choosing, e.g. buildings. Returns ------- filtered_choosers, filtered_alts : pandas.DataFrame """

        ch = []
        alts = []

        for name, df in self._iter_groups(choosers):
            filtered_choosers, filtered_alts = \
                self.models[name].apply_fit_filters(df, alternatives)
            ch.append(filtered_choosers)
            alts.append(filtered_alts)

        return pd.concat(ch), pd.concat(alts)