input: Write a function to create a Python script that prepares the data for, trains, and evaluates a model, and then submits the prediction to a Kaggle competition. The function should assume that the data is in a CSV file named "data.csv", with a column named "response" as the target variable. If successful, the function will return the accuracy score of the model on the test set.
  assert kaggle_submission([])==None
  assert kaggle_submission(['data.csv'])==float
  assert kaggle_submission(['data.csv', 'response'])==float
  assert kaggle_submission(['data.csv', 'response', 0.20])==float
  assert kaggle_submission(['data.csv', 'response', 0.20, 42])==float
output: def kaggle_submission(args):
      if not args:
          return None
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.ensemble import RandomForestClassifier
      from sklearn.metrics import accuracy_score
      data = pd.read_csv(args[0])
      target = 'response' if len(args) < 2 else args[1]
      test_size = 0.20 if len(args) < 3 else float(args[2])
      random_state = 42 if len(args) < 4 else int(args[3])
      X = data.drop(columns=[target])
      y = data[target]
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=random_state)
      model = RandomForestClassifier(random_state=random_state)
      model.fit(X_train, y_train)
      y_pred = model.predict(X_test)
      return accuracy_score(y_test, y_pred)