input: from typing import List
  
  def predict_customer_lifetime_value(transaction_data: np.ndarray) -> float:
      """ Predict the customer lifetime value (LTV) given the past transaction data.
      The function preprocesses the data, trains a RandomForestRegressor model,
      and then predicts the LTV for the given transaction data.
      
      >>> predict_customer_lifetime_value(np.array([[10,100,5]]))
      1200.5
      >>> predict_customer_lifetime_value(np.array([[5,50,2]]))
      800.0
      """
output:     from sklearn.ensemble import RandomForestRegressor
      from sklearn.model_selection import train_test_split
      from sklearn.preprocessing import StandardScaler
      import numpy as np
  
      # Preprocess the data
      X = transaction_data[:, :-1]
      y = transaction_data[:, -1]
  
      # 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)
  
      # Standardize the features
      scaler = StandardScaler()
      X_train = scaler.fit_transform(X_train)
      X_test = scaler.transform(X_test)
  
      # Train the RandomForestRegressor model
      model = RandomForestRegressor(n_estimators=100, random_state=42)
      model.fit(X_train, y_train)
  
      # Predict the LTV
      ltv_prediction = model.predict(X_test)
  
      # Return the predicted LTV
      return ltv_prediction[0]