input: def naive_bayes_spam_classifier() -> GaussianNB:
      """
      Construct a naive bayes classifier using Python to classify emails as spam or not spam.
      The function should initialize a GaussianNB model, train it using provided training datasets,
      and then return the model for further predictions.
      >>> model = naive_bayes_spam_classifier()
      >>> model.predict([[0, 1, 0, 1]]) # Example prediction
      array([0])
      """
      from sklearn.naive_bayes import GaussianNB
  
      # Create a Gaussian Classifier
      model = GaussianNB()
  
      # Train the model using the training sets 
      model.fit(X_train, y_train)
  
      return model
output:     from sklearn.datasets import load_iris
      from sklearn.model_selection import train_test_split
  
      # Load a sample dataset (Iris dataset in this case)
      data = load_iris()
      X = data.data
      y = data.target
  
      # Split the dataset into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)