A Neural Network model generalized for any tabular dataset (Classification/Regression Task)
TabNAS is a generalized neural network model that can be fed any kind of tabular dataset. It has been generalized for both classification as well as regression tasks.
We have benchmarked the model for 4 datasets - two of which are classification tasks while the other two are regression. The datasets tested on are - the Adult Income dataset, Car dataset, Housing Prices dataset
We have generalized the function in order to automatically understand:-
- The number of Features
- Each feature type - (Categorical or Numerical)
- The number of layers and neurons required for each task
We also provide a size - performance tradeoff which ensures that the model takes up less space on the disk as well as has a good performance overall. The tradeoff between size and performance is observed to ensure the best possible values for hyperparameters can be applied.
We require the user to input the following parameters:-
data
: Datasettarget_var
: Target Variable - The variable which needs to be predictedclassification = True
: Classification(True/False) - Whether its a Classification task or Regression tasklr
: Learning rate - The learning rate for the optimizer to train on
Neural architecture search (NAS) is a technique for automating the design of artificial neural networks (ANN), a widely used model in the field of machine learning. NAS has been used to design networks that are on par or outperform hand-designed architectures. We employ evolutionary algorithms for optimizing,
params = {
"number-of-layers",
"neurons each layers",
"activation function"
}
The project saves the model's weights which can then be loaded and worked on.
python base.py
for CMD
or,
streamlit run app.py
for Streamlit application