input: 
  from sklearn.tree import DecisionTreeClassifier
  import pandas as pd
  
  
  def train_decision_tree(data: pd.DataFrame, target_column: str) -> DecisionTreeClassifier:
      """ Trains a decision tree classifier to predict the target_column 
      from the other features in the dataset.
      >>> dataset = pd.DataFrame({
      ...     'A': [1, 2, 3, 4],
      ...     'B': [5, 6, 7, 8],
      ...     'C': [9, 10, 11, 12],
      ...     target_column: [0, 1, 0, 1]
      ... })
      >>> classifier = train_decision_tree(dataset, target_column='target')
      >>> classifier.predict([[1, 5, 9]])
      [0]
      """
      X = data.drop(columns=[target_column])
      y = data[target_column]
      classifier = DecisionTreeClassifier(criterion='entropy')
      classifier.fit(X, y)
      return classifier
  
output:     X = data.drop(columns=[target_column])
      y = data[target_column]
      classifier = DecisionTreeClassifier(criterion='entropy')
      classifier.fit(X, y)
      return classifier