docs: def infer_x(self, y_desired):
          """Infer probable x from input y
  
          @param y  the desired output for infered x.
          """
          InverseModel.infer_x(y_desired)
          if self.fmodel.size() == 0:
              return self._random_x()
          else:
              idx = random.randint(0, self.fmodel.size()-1)
              return self.dataset.get_x(idx)