#python #pandas #numpy #scikit-learn
#python #панды #numpy #scikit-learn
Вопрос:
Давайте возьмем данные
import pandas as pd
import numpy as np
from sklearn.model_selection import StratifiedKFold
from sklearn.linear_model import LogisticRegression
df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/wdbc.data', header=None)
И рассмотрим следующий код :
#Defining X,y - independent variable and dependent variables
X=df.drop(df.columns[[1]], axis=1)
y = (df[1] == 'B').astype(int)
clf=LogisticRegression(solver="lbfgs")
kfold = StratifiedKFold(n_splits=10, shuffle=True)
for train, validation in kfold.split(X, y):
# Fit the model
clf.fit(X[train], y[train])
И возникает следующая ошибка :
У вас есть какие-либо идеи, почему это происходит? Я думаю, что я действительно не делал сложных вещей, поэтому я не уверен, что именно я сделал неправильно.
Ответ №1:
X — это фрейм данных, который вам нужно использовать .iloc
для выбора индексов:
for train_index, validation_index in kfold.split(X, y):
# Fit the model
X_train = X.iloc[train_index]
y_train = y[train_index]
clf.fit(X_train, y_train)