input: Write a python function to train a DecisionTreeClassifier using entropy criterion and return its accuracy.
  ```python
  def train_decision_tree(X, y):
      from sklearn.tree import DecisionTreeClassifier
      from sklearn import metrics
  
      clf = DecisionTreeClassifier(criterion='entropy')
      clf.fit(X, y)
      y_pred = clf.predict(X)
      return metrics.accuracy_score(y, y_pred)
  
  assert train_decision_tree(pd.DataFrame([[1, 2], [3, 4], [5, 6]]), pd.Series([0, 1, 0])) == 1.0
  assert train_decision_tree(pd.DataFrame([[1, 1], [2, 2], [3, 3]]), pd.Series([0, 1, 0])) == 1.0
  assert train_decision_tree(pd.DataFrame([[0, 0], [1, 1], [0, 1], [1, 0]]), pd.Series([0, 1, 0, 1])) == 1.0
output: def train_decision_tree(X, y):
      import pandas as pd
      from sklearn.tree import DecisionTreeClassifier
      from sklearn import metrics
  
      clf = DecisionTreeClassifier(criterion='entropy')
      clf.fit(X, y)
      y_pred = clf.predict(X)
      return metrics.accuracy_score(y, y_pred)
  
  assert train_decision_tree(pd.DataFrame([[1, 2], [3, 4], [5, 6]]), pd.Series([0, 1, 0])) == 1.0
  assert train_decision_tree(pd.DataFrame([[1, 1], [2, 2], [3, 3]]), pd.Series([0, 1, 0])) == 1.0
  assert train_decision_tree(pd.DataFrame([[0, 0], [1, 1], [0, 1], [1, 0]]), pd.Series([0, 1, 0, 1])) == 1.0