Выбор характеристик (ковариат) в CoxPHFitter, Анализ выживаемости жизненных линий - PullRequest
0 голосов
/ 25 ноября 2018

Я использую эту реализованную модель в Python для анализа выживания:

из импорта жизненных линий CoxPHFitter

К сожалению, я не могу (я не знаю, как) перебрать всековариат (функции), чтобы запустить регрессию индивидуально с целью выбора признаков и сохранить их результат.Я пытаюсь сценарий ниже:

`def fit_and_score_features2(X):
    y=X[["Status","duration_yrs"]]
    X.drop(["duration_yrs", "Status"], axis=1, inplace=True)
    n_features = X.shape[1]
    scores = np.empty(n_features)
    m = CoxPHFitter()

    for j in range(n_features):
       Xj = X.values[:, j:j+1]
       Xj=pd.merge(X, y,  how='right', left_index=True, right_index=True)
       m.fit(Xj, duration_col="duration_yrs", event_col="Status", show_progress=True)
       scores[j] = m._score_
    return scores`

К сожалению, он возвращает мне эту ошибку:

ValueError Traceback (последний вызов последнего) в () 1 # Попытка функции выше ----> 2 балла = fit_and_score_features2 (образец) 3 pd.Series (баллы, индекс = features.columns) .sort_values ​​(возрастающий = False)

в fit_and_score_features2 (X) 15 Xj = pd.merge (X, y, how = 'right', left_index = True, right_index = True) 16 м.п. (Xj, duration_col = "duration_yrs", event_col = "Status", show_progress = True) ---> 17 баллов [j] =м. оценка 18 возвращаемых результатов

ValueError: установка элемента массива с последовательностью.

Заранее спасибо.

1 Ответ

0 голосов
/ 25 ноября 2018

Я думаю, что я смог отладить с вашей помощью (@ Cam.Davidson.Pilon).Большое спасибо.Это правильный сценарий на мой взгляд:

`def fit_and_score_features2(X):
   y=X[["Status","duration_yrs"]]
   X.drop(["duration_yrs", "Status"], axis=1, inplace=True)
   n_features = X.shape[1]
   scores = np.empty(n_features)
   m = CoxPHFitter()

   for j in range(n_features):
       Xj = X.iloc[:, j:j+1]
       Xj=pd.merge(Xj, y,  how='right', left_index=True, right_index=True)
       m.fit(Xj, duration_col="duration_yrs", event_col="Status", show_progress=True)
       scores[j] = m.score_
   return scores`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...