import numpy as np
from sklearn.linear_model import LinearRegression
from scipy.io.wavfile import read

# Load training and test data
X_train = read('../X_train.wav')[1].reshape(-1, 784)
y_train = (read('../y_train.wav')[1] * 9).astype(int)
X_test = read('../X_test.wav')[1].reshape(-1, 784)
y_test = (read('../y_test.wav')[1] * 9).astype(int)
X20 = X_test[:1000]
yt20 = y_test[:1000]

f = LinearRegression(fit_intercept=False)
trial = np.random.randint(0,10,60000)
sol = np.zeros((60000,10))
#break cycle

while True:
    idx = np.random.randint(0,60000,100)
    X = X_train[idx]
    yt = y_train[idx]
    f.fit(X,np.eye(10)[yt])
    c = f.coef_
    for _ in range(100):
        idx = np.random.randint(0,60000,100)
        X = X_train[idx]
        yt = y_train[idx]
        f.fit(X,np.eye(10)[yt])
        c += 0.01 * f.coef_
        
    f.coef_ = c    
    y = f.predict(X)
    break
