In SKLearn PLSRegression, several items can be called after a model is trained:

• Scores
• Weights
• All the above are separated by X and Y

I intuitively understand that x_scores and y_scores should have a linear relationship because that's what the algorithm is trying to maximize.

However, despite reading multiple resources, I find that some articles use the terms loadings and weights interchangeably but I know they are different. I think loadings are the "direction" vector values that describe where each component is "pointing" at. But what about weights?

UPDATE:

Read on this a bit more for a project I'm working on, and I have some links to share that may be helpful. The "weights" in a PLS model are used to translate E_a (the deflated X matrices) to a column in the scores matrix t_a. Deflation occurs after each step of the algorithm by subtracting the variance accounted for by the new component. Loadings on the other hand, translate T to X.

This is a fantastic reference and goes into much more detail: https://learnche.org/pid/latent-variable-modelling/projection-to-latent-structures/how-the-pls-model-is-calculated

I also read through the plsr vignette several times. It's R but the concepts should translate: https://cran.r-project.org/web/packages/pls/vignettes/pls-manual.pdf