Train the Cannon coefficients.

def train_and_save(self, model_filename, cannon_data_filename, 
        clobber=False, **kwargs):
        """
        Train the Cannon coefficients.
        """

        if any(map(os.path.exists,
            (model_filename, cannon_data_filename))) and not clobber:
            raise IOError("output file already exists")

        trained = self.train_global(**kwargs)
        with open(cannon_data_filename, "wb") as fp:
            pickle.dump(trained, fp, -1)

        self._configuration["model_grid"]["cannon_data"] = cannon_data_filename
        logger.info("Cannon coefficients pickled to {}".format(
            cannon_data_filename))

        self.save(model_filename, clobber)

        return True