所以我正在使用scikit-learn来做一些二进制分类,现在我正在尝试Logistic回归分类器。在训练分类器之后,我打印出分类结果和它们在每个类中的概率:
logreg = LogisticRegression()
logreg.fit(X_train,y_train)
print logreg.predict(X_test)
print logreg.predict_proba(X_test)所以我得到了一些类似的东西:
[-1 1 1 -1 1 -1...-1]
[[ 8.64625237e-01 1.35374763e-01]
[ 3.57441028e-01 6.42558972e-01]
[ 1.67970096e-01 8.32029904e-01]
[ 9.20026249e-01 7.99737513e-02]
[ 1.20456011e-02 9.87954399e-01]
[ 6.48565595e-01 3.51434405e-01]...]它看起来像是,当概率超过0.5时,这个物体就被归类为。,etc...and。我正在寻找一种方法来调整这个数字,例如,属于第一类的概率必须超过.7才能被归类。有没有办法做到这一点?我已经查看了一些参数,比如“tol”和“weight”,但我不确定它们是不是我正在寻找的,或者它们是否有效……
发布于 2018-09-10 16:16:05
你可以这样设置你的THRESHOLD
THRESHOLD = 0.7
preds = np.where(logreg.predict_proba(X_test)[:,1] > THRESHOLD, 1, 0)请参考sklearn LogisticRegression and changing the default threshold for classification
https://stackoverflow.com/questions/38619870
复制相似问题