input: 
  def customer_churn_prediction(data: pd.DataFrame) -> float:
      """
      Predict customer churn using a RandomForestClassifier and return the accuracy of the model.
      
      >>> customer_churn_prediction(pd.DataFrame({'feature1': [1, 2, 3], 'feature2': [4, 5, 6], 'churn': [0, 1, 0]}))
      1.0
      """
      import pandas as pd
      from sklearn.ensemble import RandomForestClassifier
      from sklearn.model_selection import train_test_split
  
      # Select features and targets
      X = data.drop(['churn'], axis=1)
      y = data['churn']
  
      # Split the data into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  
      # Create and train the model
      model = RandomForestClassifier()
      model.fit(X_train, y_train)
  
      # Make predictions and return accuracy
      accuracy = model.score(X_test, y_test)
      return accuracy
  
output:     import pandas as pd
      from sklearn.ensemble import RandomForestClassifier
      from sklearn.model_selection import train_test_split
  
      # Select features and targets
      X = data.drop(['churn'], axis=1)
      y = data['churn']
  
      # Split the data into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  
      # Create and train the model
      model = RandomForestClassifier()
      model.fit(X_train, y_train)
  
      # Make predictions and return accuracy
      accuracy = model.score(X_test, y_test)
      return accuracy