【发布时间】:2021-09-07 06:50:14
【问题描述】:
我正在使用 Python 构建逻辑回归模型,并设法手动调整阈值。但是,当我使用 pickle 保存模型时,阈值似乎没有改变。对于不同的阈值,我得到完全相同的结果。代码如下:
filename = 'model202104.sav'
pickle.dump(logreg, open(filename, 'wb'))
loaded_model2 = pickle.load(open(filename, 'rb'))
result = loaded_model2.score(X_test, y_pred)
print(result)
这是我用来手动更改阈值的代码:
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=.2,random_state=7)
logreg = LogisticRegression(max_iter=10000)
logreg.fit(X_train,y_train)
#y_pred=logreg.predict(X_test)
THRESHOLD=0.5
y_pred=np.where(logreg.predict_proba(X_test)[:,1] > THRESHOLD, 1, 0)
提前致谢:)
【问题讨论】:
-
我不太明白您是否尝试将手动阈值保存到 .sav 文件中?你能展示你用来创建 .sav 文件的代码吗?
-
是的,这就是我想要做的。我用于创建 .sav 文件的代码已发布在问题中。
-
无法手动保存阈值
标签: python scikit-learn logistic-regression sklearn-pandas