Creación de una instancia sklearn.linear_model.LogisticRegression a partir de coeficientes existentes

¿Se puede crear una instancia de este tipo en función de los coeficientes existentes que se calcularon, por ejemplo, en una implementación diferente (por ejemplo, Java)?

Intenté crear una instancia y luego establecer coef_ e intercept_ directamente y parece funcionar, pero no estoy seguro de si hay algún inconveniente aquí o si podría estar rompiendo algo.

Sí, funciona bien:

 import numpy as np from scipy.stats import norm from sklearn.linear_model import LogisticRegression import json x = np.arange(10)[:, np.newaxis] y = np.array([0,0,0,1,0,0,1,1,1,1]) # training one logistic regression model1 = LogisticRegression(C=10, penalty='l1').fit(x, y) # serialize coefficients (imitate loading from storage) encoded = json.dumps((model1.coef_.tolist(), model1.intercept_.tolist(), model1.penalty, model1.C)) print(encoded) decoded = json.loads(encoded) # using coefficients in another regression model2 = LogisticRegression() model2.coef_ = np.array(decoded[0]) model2.intercept_ = np.array(decoded[1]) model2.penalty = decoded[2] model2.C = decoded[3] # resulting predictions are identical print(model1.predict_proba(x) == model2.predict_proba(x)) 

Salida:

 [[[0.7558780101653273]], [-3.322083150375962], "l1", 10] [[ True True] [ True True] [ True True] [ True True] [ True True] [ True True] [ True True] [ True True] [ True True] [ True True]] 

Así que las predicciones de modelos originales y recreados son de hecho idénticas.