also save linear ocsvm model

This commit is contained in:
Jan Kowalczyk
2025-07-02 16:58:34 +02:00
parent 4863b91127
commit 6b3a41448c

View File

@@ -195,9 +195,7 @@ class OCSVM(object):
# If hybrid, also train a model with linear kernel # If hybrid, also train a model with linear kernel
if self.hybrid: if self.hybrid:
self.linear_model = OneClassSVM( self.linear_model = OneClassSVM(kernel="linear", nu=self.nu)
kernel="linear", nu=self.nu
)
start_time = time.time() start_time = time.time()
self.linear_model.fit(X) self.linear_model.fit(X)
train_time = time.time() - start_time train_time = time.time() - start_time
@@ -480,12 +478,14 @@ class OCSVM(object):
def save_model(self, export_path): def save_model(self, export_path):
"""Save OC-SVM model to export_path.""" """Save OC-SVM model to export_path."""
with open(export_path, "wb") as fp: with open(export_path, "wb") as fp:
pickle.dump(self.model, fp) pickle.dump({"model": self.model, "linear_model": self.linear_model}, fp)
def load_model(self, import_path): def load_model(self, import_path):
"""Load OC-SVM model from import_path.""" """Load OC-SVM model from import_path."""
with open(import_path, "rb") as fp: with open(import_path, "rb") as fp:
self.model = pickle.load(fp) models = pickle.load(fp)
self.model = models["model"]
self.linear_model = models["linear_model"]
def save_results(self, export_pkl): def save_results(self, export_pkl):
with open(export_pkl, "wb") as fp: with open(export_pkl, "wb") as fp: