Опасная функция Кокса П. Х. в Python - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть следующие данные:

gasdfhourly[['Unit','Hourcount','Target']].head()
Out[377]: 
                       Unit  Hourcount  Target
Date       hour                               
2014-01-01 0     748.816493          1     0.0
           1     759.759946          2     0.0
           2     756.737007          3     0.0
           3     761.075262          4     0.0
           4     765.142517          5     0.0

Я пытался вписать в нее модель Кокса PH:

from lifelines import CoxPHFitter
cph = CoxPHFitter()
cph.fit(gasdfhourly, duration_col='Hourcount', event_col='Target', show_progress=False)
cph.print_summary() 
X=gasdfhourly['Unit']

Однако, пытаясь вывести функцию выживания:

cph.predict_survival_function(X)

Я получаю следующую ошибку:

Traceback (most recent call last):

  File "<ipython-input-378-6bde79cbbb89>", line 1, in <module>
    cph.predict_survival_function(X)

  File "C:\ProgramData\Anaconda3\lib\site-packages\lifelines\fitters\coxph_fitter.py", line 514, in predict_survival_function
    return exp(-self.predict_cumulative_hazard(X, times=times))

  File "C:\ProgramData\Anaconda3\lib\site-packages\lifelines\fitters\coxph_fitter.py", line 495, in predict_cumulative_hazard
    v = self.predict_partial_hazard(X)

  File "C:\ProgramData\Anaconda3\lib\site-packages\lifelines\fitters\coxph_fitter.py", line 437, in predict_partial_hazard
    return exp(self.predict_log_partial_hazard(X))

  File "C:\ProgramData\Anaconda3\lib\site-packages\lifelines\fitters\coxph_fitter.py", line 459, in predict_log_partial_hazard
    return pd.DataFrame(np.dot(X, self.hazards_.T), index=index)

ValueError: shapes (215,) and (1,1) not aligned: 215 (dim 0) != 1 (dim 0)

Может кто-нибудь указать на ошибку в моем коде?

1 Ответ

0 голосов
/ 10 февраля 2019

Ошибка X=gasdfhourly['Unit'], при которой создается серия, а не датафрейм.Функции предсказания хотят DataFrame.Вместо этого попробуйте X=gasdfhourly[['Unit']] (обратите внимание на две скобки)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...