I believe I have found the general source of the slow downs. The culprit comes down to the initializer:
# replace the initialize with this:
        # initialize
        self.data_frame = pd.read_csv(csv_file)
        self.features = self.data_frame[self.data_frame.columns[:-1]]
        self.target = self.data_frame[self.data_frame.columns[-1]]
        self.transform = transform