input: from typing import Tuple
  
  def construct_regression_network(data_path: str, test_size: float = 0.2, random_state: int = 42, epochs: int = 100, batch_size: int = 20) -> Tuple[float, float]:
      """Constructs a neural network for basic regression using the Keras library.
      It reads data from a CSV file, splits the data into training and testing sets,
      constructs the network, compiles it, trains it, and evaluates it.
      
      >>> construct_regression_network('data.csv', 0.2, 42, 100, 20)
      0.062145, 100
      """
      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
      
      # 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=test_size, random_state=random_state)
      
      # 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=epochs, batch_size=batch_size, verbose=0)
      
      # Evaluate the model
      score = model.evaluate(X_test, y_test, verbose=0)
      return score, model.get_weights()[0].shape[1]
output:     # Save the model
      model.save('regression_model.h5')
      
      # Return the evaluation score and the number of epochs
      return score, epochs