code: def random_split(self, fraction, seed=None):
          
          from .sframe import SFrame
          temporary_sf = SFrame()
          temporary_sf['X1'] = self
          (train, test) = temporary_sf.random_split(fraction, seed)
          return (train['X1'], test['X1'])
docs: Randomly split the rows of an SArray into two SArrays. The first SArray
          contains *M* rows, sampled uniformly (without replacement) from the
          original SArray. *M* is approximately the fraction times the original
          number of rows. The second SArray contains the remaining rows of the
          original SArray.
  
          Parameters
          ----------
          fraction : float
              Approximate fraction of the rows to fetch for the first returned
              SArray. Must be between 0 and 1.
  
          seed : int, optional
              Seed for the random number generator used to split.
  
          Returns
          -------
          out : tuple [SArray]
              Two new SArrays.
  
          Examples
          --------
          Suppose we have an SArray with 1,024 rows and we want to randomly split
          it into training and testing datasets with about a 90%/10% split.
  
          >>> sa = turicreate.SArray(range(1024))
          >>> sa_train, sa_test = sa.random_split(.9, seed=5)
          >>> print(len(sa_train), len(sa_test))
          922 102