Я пытаюсь оценить логистическую регрессию, используя кривую AUROC, и перепроверить мои оценки.Когда у меня нет перекрестной проверки, у меня нет проблем, но я действительно хочу использовать перекрестную проверку, чтобы помочь уменьшить смещение в моем методе.
В любом случае, ниже приведен код и термин ошибки, который я получаю для начальной части.моего кода:
X = df.drop('Survived', axis=1)
y = df['Survived']
skf = StratifiedKFold(n_splits=5)
logmodel = LogisticRegression()
i=0
for train, test in skf.split(X,y):
logmodel.fit(X[train], y[train]) # error occurs here
predictions = logmodel.predict_proba(X[test])
# a bunch of code that I haven't included which creates the ROC curve
i += 1
Ошибка возникает в четвертой и последней строке и возвращает список целых чисел, за которым следует «не в индексе»
Я действительно не понимаю, чтопроблема?
Это мое понимание кода: сначала я создаю экземпляр как стратифицированной kfold, так и логистической регрессии.Пример многослойного kfold утверждает, что должны быть сделаны пять сгибов.Далее я говорю, что для каждого поезда и контрольного сгиба в моем наборе данных X, y я подгоняю логистическую модель к данным, а затем создаю список прогнозов для различных вероятностей на основе тестовых данных.Позже (эта часть не показана) Я создам ROC-кривую для каждого k-кратного смещения данных.
Опять же, я не очень понимаю, в чем проблема, но, возможно, кто-то может прояснить.Моя работа более или менее скопирована непосредственно по этой ссылке в sklearn: https://scikit -learn.org / stable / auto_examples / model_selection / plot_roc_crossval.html # sphx-glr-auto-examples-model-selection-plot-roc-crossval-ру