Я пробую многолинейную регрессию с 4 независимыми параметрами, которые сравниваются с этими параметрами для класса с меткой 0, чтобы линейно соответствовать модели.
from sklearn import linear_model
from pandas import DataFrame
covariates = DataFrame({'Param1':P1, 'Param2':P2, 'Param3':P3, 'Param4':P4}).iloc[cov_idx, :]
covariates = covariates.to_numpy(dtype=np.float32)
covCN = covariates[labels['Group'] == 0] # only controls as reference group to estimate effect of covariates
lm = linear_model.LinearRegression()
for k in range(images.shape[3]):
for j in range(images.shape[2]):
for i in range(images.shape[1]):
if any(images[:, i, j, k, 0] != 0):
tmpdat = images[labels['Group'] == 0, i, j, k, 0]
lm.fit(covCN, tmpdat)
pred = lm.predict(covariates)
images[:, i, j, k, 0] = images[:, i, j, k, 0] - pred
Я хочу сохранить модели линейной регрессии для прогнозирования на основе другого набора данных со схожими параметрами. Когда я попробовал приведенный ниже код для сохранения модели, я решил, что сохраняется только одна модель.
import pickle
with open("model","wb") as f:
pickle.dump(lm,f)
with open("model","rb") as f:
model = pickle.load(f)
covariates = DataFrame({'Param1':A1, 'Param2':A2, 'Param3':A3, 'Param4':A4}).iloc[cov_idx, :]
covariates = covariates.to_numpy(dtype=np.float32)
for k in range(images.shape[3]):
for j in range(images.shape[2]):
for i in range(images.shape[1]):
if any(images[:, i, j, k, 0] != 0):
pred = model.predict(covariates)
images[:, i, j, k, 0] = images[:, i, j, k, 0] - pred
Как мне сохранить все модели линейной регрессии и использовать их для прогнозирования на разных набор данных?