yobx.sklearn.kernel_ridge.kernel_ridge#

yobx.sklearn.kernel_ridge.kernel_ridge.sklearn_kernel_ridge(g: GraphBuilderExtendedProtocol, sts: Dict, outputs: List[str], estimator: KernelRidge, X: str, name: str = 'kernel_ridge') str[source]#

Converts a sklearn.kernel_ridge.KernelRidge into ONNX.

The prediction formula is:

K = kernel(X, X_fit_)          # (N, M)
y_pred = K @ dual_coef_        # (N,) or (N, n_targets)

where X_fit_ (the training data) and dual_coef_ (the dual solution) are stored as ONNX constants at conversion time.

Supported kernels: 'linear', 'rbf', 'poly'/'polynomial', 'sigmoid', 'cosine', 'laplacian', 'chi2'. Callable kernels and 'precomputed' are not supported.

Graph structure (single-target)

X  ──kernel(X, X_fit_)──►  K (N, M)
                               │
                           MatMul(dual_coef_)  ──►  y_pred (N,)
Parameters:
  • g – the graph builder to add nodes to

  • sts – shapes defined by scikit-learn

  • outputs – desired output names

  • estimator – a fitted KernelRidge

  • X – input tensor name

  • name – prefix for added node names

Returns:

output tensor name (predictions)