input: Write a python function to split a dataset into training and test sets, fit a Naive Bayes classifier to the training set, predict the test set results, and calculate the confusion matrix. 
  assert split_fit_predict_confusion_matrix('Social_Network_Ads.csv') == (expected_confusion_matrix)
output: def split_fit_predict_confusion_matrix(filename):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.preprocessing import StandardScaler
      from sklearn.naive_bayes import GaussianNB
      from sklearn.metrics import confusion_matrix
      
      # Load dataset
      dataset = pd.read_csv(filename)
      
      # Assuming the last column is the dependent variable (y) and the others are independent variables (X)
      X = dataset.iloc[:, :-1].values
      y = dataset.iloc[:, -1].values
      
      # Split dataset into training and test sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
      
      # Feature scaling
      sc = StandardScaler()
      X_train = sc.fit_transform(X_train)
      X_test = sc.transform(X_test)
      
      # Fit Naive Bayes classifier to the training set
      classifier = GaussianNB()
      classifier.fit(X_train, y_train)
      
      # Predict the test set results
      y_pred = classifier.predict(X_test)
      
      # Calculate the confusion matrix
      cm = confusion_matrix(y_test, y_pred)
      
      return cm