input: Write a python function to split a dataset into train and test sets and fit a Linear Regression model, then make predictions and visualize the results.
  assert isinstance(split_and_predict(data), plt.Figure)
  assert isinstance(split_and_predict(data), plt.Axes)
output: from sklearn.model_selection import train_test_split
  from sklearn.linear_model import LinearRegression
  import matplotlib.pyplot as plt
  
  def split_and_predict(data):
      X = data.iloc[:, :-1]  # Assuming the last column is the target
      y = data.iloc[:, -1]
  
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
  
      model = LinearRegression()
      model.fit(X_train, y_train)
  
      predictions = model.predict(X_test)
  
      fig, ax = plt.subplots()
      ax.scatter(y_test, predictions)
      ax.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'k--', lw=2)
      ax.set_xlabel('Actual')
      ax.set_ylabel('Predicted')
      ax.set_title('Actual vs Predicted')
  
      return fig, ax