code: def fetch_gpml_sarcos_data(transpose_data=True, data_home=None):
      
      train_src_url = "http://www.gaussianprocess.org/gpml/data/sarcos_inv.mat"
      test_src_url = ("http://www.gaussianprocess.org/gpml/data/sarcos_inv_test"
                      ".mat")
  
      data_home = get_data_home(data_home=data_home)
  
      train_filename = os.path.join(data_home, 'sarcos_inv.mat')
      test_filename = os.path.join(data_home, 'sarcos_inv_test.mat')
  
      if not os.path.exists(train_filename):
          urllib.request.urlretrieve(train_src_url, train_filename)
  
      if not os.path.exists(test_filename):
          urllib.request.urlretrieve(test_src_url, test_filename)
  
      train_data = loadmat(train_filename).get('sarcos_inv')
      test_data = loadmat(test_filename).get('sarcos_inv_test')
  
      train_bunch = Bunch(data=train_data[:, :21],
                          targets=train_data[:, 21])
  
      test_bunch = Bunch(data=test_data[:, :21],
                         targets=test_data[:, 21])
  
      return Bunch(train=train_bunch, test=test_bunch)
docs: Fetch the SARCOS dataset from the internet and parse appropriately into
      python arrays
  
      >>> gpml_sarcos = fetch_gpml_sarcos_data()
  
      >>> gpml_sarcos.train.data.shape
      (44484, 21)
  
      >>> gpml_sarcos.train.targets.shape
      (44484,)
  
      >>> gpml_sarcos.train.targets.round(2) # doctest: +ELLIPSIS
      array([ 50.29,  44.1 ,  37.35, ...,  22.7 ,  17.13,   6.52])
  
      >>> gpml_sarcos.test.data.shape
      (4449, 21)
  
      >>> gpml_sarcos.test.targets.shape
      (4449,)