Examples
Binary Classification
Train a binary classifier on the Breast Cancer dataset using a simple feed-forward neural network.
Example
import numpy as np
from sklearn.datasets import load_breast_cancer
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from vanillanets.layers import DenseLayer
from vanillanets.activations import ReLU, Sigmoid
from vanillanets.losses import BinaryCrossEntropy
from vanillanets.optimizers import Optimizer_Adam
from vanillanets.model import Model
from vanillanets.metrics import Accuracy, Precision, Recall, F1Score
# Load dataset
data = load_breast_cancer()
X, y = data.data, data.target.reshape(-1, 1)
# Preprocess
X = StandardScaler().fit_transform(X)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
# Build model
model = Model()
model.add(DenseLayer(30, 64))
model.add(ReLU())
model.add(DenseLayer(64, 1))
model.add(Sigmoid())
# Configure training
model.set(
loss=BinaryCrossEntropy(),
optimizer=Optimizer_Adam(learning_rate=0.01, decay=1e-4),
metrics=[Accuracy(), Precision(), Recall(), F1Score()]
)
model.finalize()
# Train
model.fit(
X_train,
y_train,
epochs=10,
print_every=1,
validation_data=(X_test, y_test)
)
# Evaluate
loss, metrics = model.evaluate(X_test, y_test)
print(f"Loss: {loss:.3f}")
for name, value in metrics.items():
print(f"{name}: {value:.3f}")Network Architecture
Dense(30 → 64)
↓
ReLU
↓
Dense(64 → 1)
↓
Sigmoid