CSES - Neuroverkkomalli
# Esimerkki scikit-learn kirjaston neuroverkon käytöstä
# Anna esimerkkidata parametrina:
# python3 neuroverkko-esimerkki.py sample-data.txt

import sys
import numpy as np
from sklearn.neural_network import MLPRegressor

data = []
with open(sys.argv[1], "r") as f:
    next(f) # Skipataan ensimmäinen rivi
    for rivi in f:
        data.append([float(v) for v in rivi.split()])

data = np.array(data)
# Sisään, ensimmäiset 24 arvoa joka riviltä
X = data[:, :24]
# Ulos, loput arvot
y = data[:, 24:]

m = MLPRegressor(random_state=1, learning_rate_init=0.001,
                 hidden_layer_sizes=(24, 24), max_iter=500).fit(X, y)

with np.printoptions(threshold=sys.maxsize, precision=3):
    # Tulostetaan kertoimet
    # Matriisit M (lista kolmesta matriisista)
    print("M = " + repr(m.coefs_).replace(" ", ""))
    # Bias-arvot B (lista kolmesta vektorista)
    print("B = " + repr(m.intercepts_).replace(" ", ""))