input: Write a function to implement a decision tree classifier in Python that predicts a fourth feature from three other features. The function should take a dataset as input, split it into features and labels, train a decision tree classifier using entropy as the criterion, and return the trained classifier.
  
  def decision_tree_classifier(dataset):
      X = dataset.iloc[:, :-1].values 
      y = dataset.iloc[:, 3].values
      from sklearn.tree import DecisionTreeClassifier
      classifier = DecisionTreeClassifier(criterion = 'entropy')
      classifier.fit(X,y)
      return classifier
  
  assert str(type(decision_tree_classifier(pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9], 'C_predicted': [0, 1, 0]})))) == "<class 'sklearn.tree._classes.DecisionTreeClassifier'>"
  assert str(type(decision_tree_classifier(pd.DataFrame({'A': [10, 20, 30], 'B': [40, 50, 60], 'C': [70, 80, 90], 'C_predicted': [1, 0, 1]})))) == "<class 'sklearn.tree._classes.DecisionTreeClassifier'>"
  assert str(type(decision_tree_classifier(pd.DataFrame({'A': [100, 200, 300], 'B': [400, 500, 600], 'C': [700, 800, 900], 'C_predicted': [0, 0, 1]})))) == "<class 'sklearn.tree._classes.DecisionTreeClassifier'>"
  assert str(type(decision_tree_classifier(pd.DataFrame({'A': [1000, 2000, 3000], 'B': [4000, 5000, 6000], 'C': [7000, 8000, 9000], 'C_predicted': [1, 1, 0]})))) == "<class 'sklearn.tree._classes.DecisionTreeClassifier'>"
  assert str(type(decision_tree_classifier(pd.DataFrame({'A': [10000, 20000, 30000], 'B': [40000, 50000, 60000], 'C': [70000, 80000, 90000], 'C_predicted': [0, 1, 1]})))) == "<class 'sklearn.tree._classes.DecisionTreeClassifier'>"
output: def decision_tree_classifier(dataset):
      X = dataset.iloc[:, :-1].values 
      y = dataset.iloc[:, -1].values
      from sklearn.tree import DecisionTreeClassifier
      classifier = DecisionTreeClassifier(criterion='entropy')
      classifier.fit(X, y)
      return classifier