0

次の行で生存モデルをトレーニングします。

wft = WeibullAFTFitter()
wft.fit(train, 'duration', event_col='y')

この後、現時点での生存確率(duration列)を確認したいと思います。

次のforループを使用する場合、私が現在これを行っている方法:

p_surv = np.zeros(len(test))
for i in range(len(p_surv)):
    row = test.iloc[i:i+1].drop(dep_var, axis=1)
    t = test.iloc[i:i+1, col_num]
    p_surv[i] = wft.predict_survival_function(row, t).values[0][0]

ただし、 for ループ (200k+ 行) を使用していることを考えると、これは非常に遅いです。もう 1 つの方法はwft.predict_survival_function(test, test['duration'])、200000x200000 のマトリックスを作成することです。これは、指定されたすべての時間に対して各行をチェックするためです。

生存確率とそれ自体の期間を確認したいだけです。これを行う機能はありlifelinesますか?

4

1 に答える 1