<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def custom_model(self, func):
 """ Run custom model provided by user. To Do, 1. Define custom function's parameters, its data types, and return types Parameters func : function Custom function Returns ------- dict Custom function's metrics """


        y_pred = func(self.baseline_in, self.baseline_out)

        self.custom_metrics = {}
        self.custom_metrics['r2'] = r2_score(self.baseline_out, y_pred)
        self.custom_metrics['mse'] = mean_squared_error(self.baseline_out, y_pred)
        self.custom_metrics['rmse'] = math.sqrt(self.custom_metrics['mse'])
        self.custom_metrics['adj_r2'] = self.adj_r2(self.custom_metrics['r2'], self.baseline_in.shape[0], self.baseline_in.shape[1])

        return self.custom_metrics