input: Write a function to construct a neural network in Python that can perform basic regression. The function should load the data from a CSV file, split the data into features and labels, train a neural network using Keras, and evaluate the model's performance. The function should return the test score.
  import numpy as np
  import pandas as pd
  from sklearn.model_selection import train_test_split
  from keras.models import Sequential
  from keras.layers import Dense
  
  def perform_regression(data_path):
      # Load the data
      data = pd.read_csv(data_path)
   
      # Split the data into features and labels
      X = data.drop(['label'], axis=1).values
      y = data['label'].values
   
      # Split the data into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
   
      # Create the neural network
      model = Sequential()
      model.add(Dense(12, input_dim=X.shape[1], kernel_initializer='normal', activation='relu'))
      model.add(Dense(12, kernel_initializer='normal', activation='relu'))
      model.add(Dense(1, kernel_initializer='normal'))
   
      # Compile the model
      model.compile(loss='mean_squared_error', optimizer='adam')
   
      # Train the model
      model.fit(X_train, y_train, epochs=100, batch_size=20, verbose=0)
   
      # Evaluate the model
      score = model.evaluate(X_test, y_test, verbose=0)
      return score
  
  assert perform_regression('data.csv') < 1.0
  assert perform_regression('data.csv') > 0.0
output: 
  def perform_regression(data_path):
      data = pd.read_csv(data_path)
      X = data.drop(['label'], axis=1).values
      y = data['label'].values
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      model = Sequential()
      model.add(Dense(12, input_dim=X.shape[1], kernel_initializer='normal', activation='relu'))
      model.add(Dense(12, kernel_initializer='normal', activation='relu'))
      model.add(Dense(1, kernel_initializer='normal'))
      model.compile(loss='mean_squared_error', optimizer='adam')
      model.fit(X_train, y_train, epochs=100, batch_size=20, verbose=0)
      score = model.evaluate(X_test, y_test, verbose=0)
      return score
  