input: Write a python function to split data into training and test sets, train a linear regression model, and evaluate the model using R2 score.
  assert split_train_evaluate(data)[0] > 0.5  # Assume that we expect the R2 score to be greater than 0.5
  assert isinstance(split_train_evaluate(data)[1], np.ndarray)  # Check if predictions are in numpy array format
output: import numpy as np
  from sklearn.model_selection import train_test_split
  from sklearn.linear_model import LinearRegression
  from sklearn.metrics import r2_score
  
  def split_train_evaluate(data):
      X = data[:, :-1]
      y = data[:, -1]
      
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      
      model = LinearRegression()
      model.fit(X_train, y_train)
      
      predictions = model.predict(X_test)
      r2 = r2_score(y_test, predictions)
      
      return r2, predictions