カラム’AAA’と’BBB’で構成した混合行列から得た数値を使ってPositive Likelyhood ratioを求め、その95%CIを求めます。
下記のプログラムで行うと「母比率pの95%信頼区間: nan < p < nan」と数値がnanとなっていしまいます。
どのプログラムにおかしな点があるのか、改善点などおしえていただけませんか?
p<0を期待しているinterval関数では難しいのでしょうか?
代替法があれば教えて頂けるとありがたいです。
from sklearn.metrics import confusion_matrix
import numpy as np
import scipy as sp
y_true = df1['AAA']
y_pred = df1['BBB']
cm = confusion_matrix(y_true, y_pred, labels=[0,1])
tn, fn, fp, tp = cm.flatten()
[tn, fn, fp, tp]
→[1075, 743, 129, 241]
Sensitivity = tp / (tp + fp)
Specificity = tn / (tn + fn)
PLR = sensitivity/(1-Specificity)
alpha = 0.95
n = 2188
p = PLR
bottom, up = sp.stats.binom.interval(alpha=alpha, n=n, p=p, loc=0)
print('母比率pの95%信頼区間: {:.2f} < p < {:.2f}'.format(bottom/n, up/n))
→ 母比率pの95%信頼区間: nan < p < nan
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/18 16:25 編集