input: Write a python function to train a Decision Tree classifier on the Iris dataset and evaluate its accuracy.
  assert train_decision_tree_classifier('iris.csv', test_size=0.2, random_state=1, max_depth=3) > 0.9
  assert train_decision_tree_classifier('iris.csv', test_size=0.25, random_state=42, max_depth=4) > 0.85
  assert train_decision_tree_classifier('iris.csv', test_size=0.3, random_state=0, max_depth=5) > 0.8
output: def train_decision_tree_classifier(filepath, test_size, random_state, max_depth):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.tree import DecisionTreeClassifier
      from sklearn.metrics import accuracy_score
      
      # Load the dataset
      df = pd.read_csv(filepath)
      
      # Split the dataset into features and target variable
      X = df.drop(columns=['species'])
      y = df['species']
      
      # Split the dataset into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=random_state)
      
      # Initialize and train the Decision Tree classifier
      clf = DecisionTreeClassifier(max_depth=max_depth, random_state=random_state)
      clf.fit(X_train, y_train)
      
      # Make predictions on the test set
      y_pred = clf.predict(X_test)
      
      # Evaluate the accuracy of the classifier
      accuracy = accuracy_score(y_test, y_pred)
      
      return accuracy