docs: def _check_input(self, X):
          """
          Check the input for validity.
  
          Ensures that the input data, X, is a 2-dimensional matrix, and that
          the second dimension of this matrix has the same dimensionality as
          the weight matrix.
          """
          if np.ndim(X) == 1:
              X = np.reshape(X, (1, -1))
  
          if X.ndim != 2:
              raise ValueError("Your data is not a 2D matrix. "
                               "Actual size: {0}".format(X.shape))
  
          if X.shape[1] != self.data_dimensionality:
              raise ValueError("Your data size != weight dim: {0}, "
                               "expected {1}".format(X.shape[1],
                                                     self.data_dimensionality))
          return X