> For the complete documentation index, see [llms.txt](https://ncxlib.gitbook.io/ncxlib/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ncxlib.gitbook.io/ncxlib/getting-started/api-documentation/overview.md).

# Overview

## Module: ncxlib.neuralnetwork.neuralnet

### Classes

[`NeuralNetwork(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network.md) : Builds a Neural Network Class&#x20;

### Functions

[`Compile(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/_compile.md): Returns None. Compiles the Neural Network.

[`add_layer(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/add_layer.md) : Adds a layer to the Neural Network

[`forward_propagate_all(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/forward_propagate_all.md) : Forward Propagates all layers in layers list

[`forward_propagate_all_no_save(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/forward_propagate_all_no_save.md) : Forward propagates all layers without saving layer information

[`back_propagation(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/back_propagation.md) : Performs the back propagation on all layers starting from the output layer

[`train(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/train.md) : Trains the model based on number of epochs, learning rate, input and labels

[`predict(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/predict.md) : Predicts the output of the model

[`evaluate(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/evaluate.md) : Provides an accuracy score across the model

[`save_model(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/save_model.md) : Saves the model as an .h5 into desired file path

[`load_model(...)`](/ncxlib/getting-started/api-documentation/overview/neural-network/load_model.md) : Loads the model back from the desired filepath. Must be an .h5

## Module: ncxlib.neuralnetwork.activations

### Classes

[`Activation(...)`](/ncxlib/getting-started/api-documentation/overview/activation.md) Abstract Base Class for all Activation classes

[`ReLU(...)`](/ncxlib/getting-started/api-documentation/overview/activation/relu.md) : ReLU activation function class

[`LeakyReLU(...)`](/ncxlib/getting-started/api-documentation/overview/activation/leakyrelu.md) : LeakyReLU activation function class &#x20;

[`Sigmoid(...)`](/ncxlib/getting-started/api-documentation/overview/activation/sigmoid.md) : Sigmoid Activation function class

[`Softmax(...)`](/ncxlib/getting-started/api-documentation/overview/activation/softmax.md) : Softmax Activation function class

[`Tanh(...)`](/ncxlib/getting-started/api-documentation/overview/activation/tanh.md) : Tanh Activation function class

## Module: ncxlib.neuralnetwork.layers

### Classes

[`Layer(...)`](/ncxlib/getting-started/api-documentation/overview/layer.md) : Abstract Base Class for the Layer family

[`InputLayer(...)`](/ncxlib/getting-started/api-documentation/overview/layer/inputlayer.md)  Input Layer Class to the Neural Network

[`FullyConnectedLayer(...)`](/ncxlib/getting-started/api-documentation/overview/layer/fullyconnectedlayer.md) : FullyConnectedLayer (hidden layers) within the Neural Network

[`OutputLayer(...)`](/ncxlib/getting-started/api-documentation/overview/layer/outputlayer.md) : Output Layer of the Neural Network

## Module: ncxlib.neuralnetwork.losses

### Classes

[`LossFunction(...)`](/ncxlib/getting-started/api-documentation/overview/lossfunction.md) : Abstract Base Class for all loss functions

[`MeanSquaredError(...)`](/ncxlib/getting-started/api-documentation/overview/lossfunction/meansquarederror.md) : Mean Squared Error loss function

[`BinaryCrossEntropy(...)`](/ncxlib/getting-started/api-documentation/overview/lossfunction/binarycrossentropy.md) : Binary Cross Entropy loss function

[`CategoricalCrossEntropy(...)`](/ncxlib/getting-started/api-documentation/overview/lossfunction/categoricalcrossentropy.md) : Categorical Cross Entropy loss function\\

## Module: ncxlib.neuralnetwork.optimizers

### Classes

[`Optimizer(...)`](/ncxlib/getting-started/api-documentation/overview/optimizer.md) : Abstract Base Class for all optimizers

[`SGD(...)`](/ncxlib/getting-started/api-documentation/overview/optimizer/sgd.md) : Stochastic Gradient Descent Optimizer

[`SGDMomentum(...)`](/ncxlib/getting-started/api-documentation/overview/optimizer/sgdmomentum.md) : Stochastic Gradient Descent with Momentum Optimizer

[`RMSProp(...)`](/ncxlib/getting-started/api-documentation/overview/optimizer/rmsprop.md) : RMS Prop Optimizer

[`Adam(...)`](/ncxlib/getting-started/api-documentation/overview/optimizer/adam.md) : Adam Optimizer

## Module: ncxlib.neuralnetwork.initializers

### Classes

[`Initializer(...)`](/ncxlib/getting-started/api-documentation/overview/initializer.md) : Abstract Base Class for all Initializers

[`HeNormal(...)`](/ncxlib/getting-started/api-documentation/overview/initializer/henormal.md) : He Normal Initializer

[`Zero(...)`](/ncxlib/getting-started/api-documentation/overview/initializer/zero.md) : Zero Initializer

## Module: ncxlib.preprocessing

### Classes

[`PreProcessor(...)`](/ncxlib/getting-started/api-documentation/overview/preprocessor.md) : Abstract Base Class for all Preprocessors

[`OneHotEncoder(...)`](/ncxlib/getting-started/api-documentation/overview/preprocessor/onehotencoder.md) :  One Hot Encoding Preprocessors

[`ImageRescaler(...)`](/ncxlib/getting-started/api-documentation/overview/preprocessor/imagerescaler.md) : Image Rescaler Preprocessor

[`ImageGrayscaler(...)`](/ncxlib/getting-started/api-documentation/overview/preprocessor/imagegrayscaler.md) : Image Grayscaler Preprocessor

[`Scaler(...)`](/ncxlib/getting-started/api-documentation/overview/preprocessor/scaler.md) : Abstract Base Class for Scalers

[`MinMaxScaler(...)`](/ncxlib/getting-started/api-documentation/overview/preprocessor/minmaxscaler.md) : Min-Max-Scaler Preprocessor

## Module: ncxlib.dataloaders

### Classes

[`DataLoader(...)`](/ncxlib/getting-started/api-documentation/overview/dataloader.md) : Abstract Base Class for all Dataloaders

[`CSVDataLoader(...)`](/ncxlib/getting-started/api-documentation/overview/dataloader/csvdataloader.md) :  CSV Data Loader

[`ImageDataLoader(...)`](/ncxlib/getting-started/api-documentation/overview/dataloader/imagedataloader.md) : Image DataLoader

## Module: ncxlib.generators

### Functions

[`random_array(...)`](/ncxlib/getting-started/api-documentation/overview/generators/random_array.md) : Returns random uniform array of data&#x20;

[`integer_array(...)`](/ncxlib/getting-started/api-documentation/overview/generators/integer_array.md) : Returns random integer array

[`generate_training_data(...)`](/ncxlib/getting-started/api-documentation/overview/generators/generate_training_data.md) : Generates random training data with num of samples, features, labels, etc.&#x20;

## Module: ncxlib.utils

### Function

[`train_test_split(...)`](https://ncxlib.gitbook.io/ncxlib/getting-started/api-documentation/overview/utils/train_test_split) : splits the data into x\_train, x\_test, y\_train, y\_test

[`k_fold_cross_validation(...)`](https://ncxlib.gitbook.io/ncxlib/getting-started/api-documentation/overview/utils/k_fold_cross_validation) : splits the data into k-folds for x\_train, x\_test, y\_train, y\_test and returns scores per fold
