Given X = n correlation matrices (between ROIs of the brain) and y = multivariate response variable of dimension n*t, we’d like to implement PLSRegression (using sklearn). t=6 in our case.
pls = PLSRegression(n_components = 6)
pls.fit(correlationmatrices, y)
y_pred=pls.predict(correlationmatrices)
The correlationmatrices are obtained using nilearn as below:
correlationmeasure = ConnectivityMeasure(kind=‘correlation’, vectorize=True)
correlationmatrices = correlationmeasure.fit_transform(abide_subjects)
abide_subjects is a list of timeseries of the images obtained as follows:
timeseries_0=regionExtractor.transform(funcfiles[0])
However, the prediction for y seems very off and the mean classification accuracy is always 0.
What is wrong/missing with the above approach?