Seldon

class Seldon(api_key=None, *, host=None, dataset_name='dataset', model='seldon-small', strategy=None, memory_optimization=None, preprocess=True, n_groups=None, column_names=None, selected_features=None, timeout_s=900, metadata=None, user=None, api_version=None, default_headers=None)

Convenience class that dispatches to SeldonClassifier or SeldonRegressor based on the target variable at fit() time.

Warning

Seldon is NOT a scikit-learn estimator.

It cannot be used with sklearn utilities such as Pipeline, cross_val_score, GridSearchCV, or any function that calls clone(), get_params(), or set_params(). Attempting to do so will raise a TypeError.

This is intentional: because Seldon decides between classification and regression at fit() time, it is fundamentally incompatible with sklearn’s static estimator contract (e.g. StratifiedKFold vs KFold split selection, response-method dispatch in scorers, etc.).

For sklearn integration, use SeldonClassifier or SeldonRegressor instead.

:param Same as SeldonClassifier / SeldonRegressor: :param except: :param memory_optimization defaults to None (auto: :type memory_optimization defaults to None (auto: False for :param classification: :param True for regression).:

Examples

Standalone usage (works):

>>> from neuralk import Seldon
>>> model = Seldon(api_key="nk_live_xxxx")
>>> model.fit(X_train, y_train)  # auto-detects task type
>>> predictions = model.predict(X_test)

Sklearn usage (does NOT work — raises TypeError):

>>> from sklearn.model_selection import cross_val_score
>>> cross_val_score(Seldon(...), X, y)  # TypeError
Parameters:
  • api_key (str | None)

  • host (str | None)

  • dataset_name (str)

  • model (str)

  • strategy (str | None)

  • memory_optimization (bool | None)

  • preprocess (bool)

  • n_groups (int | None)

  • column_names (List[str] | None)

  • selected_features (List[str] | None)

  • timeout_s (int)

  • metadata (Dict[str, Any] | None)

  • user (str | None)

  • api_version (str | None)

  • default_headers (Dict[str, str] | None)