// Program 4: Load dataset, normalize and shuffle, then train and save the model
newModel model4
configure {
    Dataset dataset4 = loadData("test.csv")
    dataset4.normalize()
    dataset4.shuffle()
    dataset4.split(0.7)
    dataset4.generateDataLoader()
    model4.SGDoptimize(0.005)
    model4.setLoss(crossEntropy)
    model4.compile(linear(4, 64), applyTanh(0.7), linear(64, 3), applySoftmax(0.4))
    model4.train(dataset4)
    model4.saveModel(model4_saved)
}