Diff of /GP/run_ridge.py [000000] .. [5bc2f8]

Switch to unified view

a b/GP/run_ridge.py
1
from sklearn.linear_model import RidgeCV
2
from scipy.stats.stats import pearsonr
3
import os
4
from matplotlib import pyplot as plt
5
6
7
def run_ridge_main(X_tr, y_tr, X_vl, y_val, output, main):
8
9
    os.chdir(output)
10
11
    if not os.path.exists("ridge"):
12
            os.makedirs("ridge")
13
            dir = output + "ridge/"
14
15
    os.chdir(os.path.join(output, 'ridge/'))
16
17
18
    if not os.path.exists("figures"):
19
        os.makedirs("figures")
20
        dir = output + "ridge/figures/"
21
22
    os.chdir(os.path.join(output, 'ridge/figures/'))
23
24
    for i in range(0, y_tr.shape[1]):
25
26
        ridge = RidgeCV(alphas=[1e-3, 1e-2, 1e-1, 1]).fit(X_tr, y_tr[:,i])
27
        ridge.score(X_tr, y_tr[:, i])
28
        y_hat = ridge.predict(X_vl)
29
30
31
        # correlation btw predicted and observed
32
        corr = pearsonr(y_hat, y_val[:,i])
33
        fig = plt.figure()
34
        # plot observed vs. predicted targets
35
        plt.title('Ridge: Observed vs Predicted Y_trait_' + str(i) + 'cor:' + str(corr[0]))
36
        plt.ylabel('Predicted')
37
        plt.xlabel('Observed')
38
        plt.scatter(y_val[:,i], y_hat, marker='o')
39
        fig.savefig("Ridge_Out" + str(i) + '.png', dpi=300)
40
        plt.close(fig)
41
42