yobx.sklearn.decomposition.pls_svd#

yobx.sklearn.decomposition.pls_svd.sklearn_pls_svd(g: GraphBuilderExtendedProtocol, sts: Dict, outputs: List[str], estimator: PLSSVD, X: str, name: str = 'pls_svd') str[source]#

Converts a sklearn.cross_decomposition.PLSSVD into ONNX.

The transform formula mirrors PLSSVD.transform():

X ──Sub(_x_mean)──► centered ── Div(_x_std) ──► scaled ── MatMul(x_weights_)──► x_scores

The input is centred and scaled, then projected onto the left singular vectors x_weights_, giving x_scores of shape (N, n_components).

Parameters:
  • g – the graph builder to add nodes to

  • sts – shapes defined by scikit-learn

  • estimator – a fitted PLSSVD

  • outputs – desired output names

  • X – input tensor name

  • name – prefix name for the added nodes

Returns:

output tensor name