scikit-learn¶
Die Registry unterstützt Modelle, die mit Scikit-learn erstellt wurden (von sklearn.base.BaseEstimator
oder sklearn.pipeline.Pipeline
abgeleitete Modelle).
Die folgenden zusätzlichen Optionen können im options
-Dictionary verwendet werden, wenn Sie log_model
abrufen:
Option |
Beschreibung |
---|---|
|
Liste der Namen der Methoden, die für das Modellobjekt verfügbar sind. Scikit-learn-Modelle haben standardmäßig die folgenden Zielmethoden, vorausgesetzt, die Methode existiert: |
Sie müssen entweder den Parameter sample_input_data
oder signatures
angeben, wenn Sie ein Scikit-learn-Modell protokollieren, damit die Registry die Signaturen der Zielmethoden kennt.
Beispiel¶
from sklearn import datasets, ensemble
iris_X, iris_y = datasets.load_iris(return_X_y=True, as_frame=True)
clf = ensemble.RandomForestClassifier(random_state=42)
clf.fit(iris_X, iris_y)
model_ref = registry.log_model(
clf,
model_name="RandomForestClassifier",
version_name="v1",
sample_input_data=iris_X,
options={
"method_options": {
"predict": {"case_sensitive": True},
"predict_proba": {"case_sensitive": True},
"predict_log_proba": {"case_sensitive": True},
}
},
)
model_ref.run(iris_X[-10:], function_name='"predict_proba"')
Pipeline:
from sklearn import datasets, ensemble, pipeline, preprocessing
iris_X, iris_y = datasets.load_iris(return_X_y=True, as_frame=True)
pipe = pipeline.Pipeline([
('scaler', preprocessing.StandardScaler()),
('classifier', ensemble.RandomForestClassifier(random_state=42)),
])
pipe.fit(iris_X, iris_y)
model_ref = registry.log_model(
pipe,
model_name="Pipeline",
version_name="v1",
sample_input_data=iris_X,
options={
"method_options": {
"predict": {"case_sensitive": True},
"predict_proba": {"case_sensitive": True},
"predict_log_proba": {"case_sensitive": True},
}
},
)
model_ref.run(iris_X[-10:], function_name='"predict_proba"')
Bemerkung
Sie können die scikit-learn-Vorverarbeitung mit einem XGBoost-Modell in einer scikit-learn-Pipeline kombinieren.