input: Write a python function to create a DecisionTreeClassifier model, fit it to a given dataset, and make predictions.
  ```python
  import pandas as pd
  import numpy as np
  from sklearn.tree import DecisionTreeClassifier
  
  def decision_tree_predict(data):
      # Separate the features and labels
      X = data.iloc[:, :-1].values
      y = data.iloc[:, -1].values
  
      # Create an instance of the DecisionTreeClassifier
      clf = DecisionTreeClassifier()
  
      # Fit the model 
      clf.fit(X, y)
  
      # Make predictions 
      y_pred = clf.predict(X)
      return y_pred
  
  # Test cases
  data1 = pd.DataFrame({
      'feature1': [1, 2, 3, 4],
      'feature2': [5, 6, 7, 8],
      'label': [0, 1, 0, 1]
  })
  
  data2 = pd.DataFrame({
      'feature1': [10, 20, 30, 40],
      'feature2': [50, 60, 70, 80],
      'label': [1, 0, 1, 0]
  })
  
  assert np.array_equal(decision_tree_predict(data1), [0, 1, 0, 1])
  assert np.array_equal(decision_tree_predict(data2), [1, 0, 1, 0])
output: def decision_tree_predict(data):
      # Separate the features and labels
      X = data.iloc[:, :-1].values
      y = data.iloc[:, -1].values
  
      # Create an instance of the DecisionTreeClassifier
      clf = DecisionTreeClassifier()
  
      # Fit the model 
      clf.fit(X, y)
  
      # Make predictions 
      y_pred = clf.predict(X)
      return y_pred
  
  # Test cases
  data1 = pd.DataFrame({
      'feature1': [1, 2, 3, 4],
      'feature2': [5, 6, 7, 8],
      'label': [0, 1, 0, 1]
  })
  
  data2 = pd.DataFrame({
      'feature1': [10, 20, 30, 40],
      'feature2': [50, 60, 70, 80],
      'label': [1, 0, 1, 0]
  })
  
  assert np.array_equal(decision_tree_predict(data1), [0, 1, 0, 1])
  assert np.array_equal(decision_tree_predict(data2), [1, 0, 1, 0])