<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def transform(self, Y):
 r"""Compute all pairwise distances between `self.X_fit_` and `Y`. Parameters y : array-like, shape = (n_samples_y, n_features) Returns ------- kernel : ndarray, shape = (n_samples_y, n_samples_X_fit\_) Kernel matrix. Values are normalized to lie within [0, 1]. """

        check_is_fitted(self, 'X_fit_')

        n_samples_x, n_features = self.X_fit_.shape

        Y = numpy.asarray(Y)
        if Y.shape[1] != n_features:
            raise ValueError('expected array with %d features, but got %d' % (n_features, Y.shape[1]))

        n_samples_y = Y.shape[0]

        mat = numpy.zeros((n_samples_y, n_samples_x), dtype=float)

        continuous_ordinal_kernel_with_ranges(Y[:, self._numeric_columns].astype(numpy.float64),
                                              self.X_fit_[:, self._numeric_columns].astype(numpy.float64),
                                              self._numeric_ranges, mat)

        if len(self._nominal_columns) > 0:
            _nominal_kernel(Y[:, self._nominal_columns],
                            self.X_fit_[:, self._nominal_columns],
                            mat)

        mat /= n_features

        return mat