# 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(" ", ""))