-
Notifications
You must be signed in to change notification settings - Fork 62
Open
Description
Skops needs to set trusted types to deserialize sklearn KNN model:
Repro code:
import skops.io
import sklearn.neighbors as knn
from sklearn import datasets
import pandas as pd
iris = datasets.load_iris()
X = iris.data
y = iris.target
X_df = pd.DataFrame(X, columns=iris.feature_names)
X_df = X_df.iloc[:, :2] # we only take the first two features.
y_series = pd.Series(y)
knn_model = knn.KNeighborsClassifier()
knn_model.fit(X_df, y_series)
save_path = "/tmp/knn_model1.sko"
skops.io.dump(knn_model, save_path)
# If removing `trusted` param, loading fails.
# but the 2 types are sklearn builtin types, so that it should not ask user to set `trusted` param
skops.io.load(save_path, trusted=["sklearn.metrics._dist_metrics.EuclideanDistance64","sklearn.neighbors._kd_tree.KDTree"])
The 2 types ["sklearn.metrics._dist_metrics.EuclideanDistance64","sklearn.neighbors._kd_tree.KDTree"] are sklearn builtin types,
so that it should not ask user to set trusted param.
Metadata
Metadata
Assignees
Labels
No labels