(l, E, N, indices)
| 52 | Etilde = (Eprime.T - Eprime.mean(axis=1)).T |
| 53 | |
| 54 | def l_optimization_func(l, E, N, indices): |
| 55 | # split by gene E and N |
| 56 | training_idx, test_idx = indices[:int(len(indices)*0.8)], indices[int(len(indices)*0.8):] |
| 57 | E_training, E_test = E[:,training_idx], E[:,test_idx] |
| 58 | N_training, N_test = N[training_idx,:], N[test_idx,:] |
| 59 | W = N_training.T.dot(N_training) + l*np.identity(N_training.shape[1]) |
| 60 | Astar = np.linalg.inv(W).dot(N_training.T).dot(E_training.T) |
| 61 | difference = (E_test - N_test.dot(Astar).T).flatten() |
| 62 | return difference.dot(difference.T) |
| 63 | |
| 64 | def optimize_l( E, N, n): |
| 65 | print("[Optimization",n,"]: started") |
nothing calls this directly
no outgoing calls
no test coverage detected