input: Write a python function to create and train a neural network model using the given dataset and architecture.
  assert train_model("mnist.csv")[1] > 90
  assert train_model("another_dataset.csv")[1] > 80
  assert train_model("sample_data.csv")[1] > 85
output: import pandas as pd
  from sklearn.model_selection import train_test_split
  from sklearn.preprocessing import StandardScaler
  from tensorflow.keras.models import Sequential
  from tensorflow.keras.layers import Dense
  from tensorflow.keras.utils import to_categorical
  from tensorflow.keras.optimizers import Adam
  
  def train_model(dataset_path):
      # Load the dataset
      df = pd.read_csv(dataset_path)
      X = df.drop('label', axis=1).values
      y = df['label'].values
  
      # Preprocess the data
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      scaler = StandardScaler()
      X_train = scaler.fit_transform(X_train)
      X_test = scaler.transform(X_test)
      y_train = to_categorical(y_train)
      y_test = to_categorical(y_test)
  
      # Build the model
      model = Sequential()
      model.add(Dense(128, input_shape=(X_train.shape[1],), activation='relu'))
      model.add(Dense(64, activation='relu'))
      model.add(Dense(10, activation='softmax'))
  
      # Compile the model
      model.compile(optimizer=Adam(), loss='categorical_crossentropy', metrics=['accuracy'])
  
      # Train the model
      history = model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_test, y_test), verbose=0)
  
      # Evaluate the model
      loss, accuracy = model.evaluate(X_test, y_test, verbose=0)
      return model, accuracy