Хоча відповідь, яка була позначена тут, правильна, я думаю, ви шукали інше пояснення, щоб дізнатися, що сталося у вашому коді. У мене був такий самий випуск через модель.
Ось що відбувається: ви тренуєте свою модель за допомогою передбачуваної змінної як частини вашого набору даних. Ось приклад того, що сталося зі мною, навіть не помічаючи цього:
df = pd.read_csv('file.csv')
df.columns = ['COL1','COL2','COL3','COL4']
train_Y = train['COL3']
train_X = train[train.columns[:-1]]
У цьому коді я хочу передбачити значення "COL3" ... але, якщо ви подивитесь на train_X, я кажу йому, щоб отримати кожен стовпець, крім останнього, тому його введення COL1 COL2 і COL3, а не COL4, і намагається передбачити COL3, який є частиною поїзда_X.
Я виправив це, просто перемістивши стовпці, перемістив COL3 вручну в Excel, щоб він був останнім стовпцем у моєму наборі даних (зараз це місце COL4), а потім:
df = pd.read_csv('file.csv')
df.columns = ['COL1','COL2','COL3','COL4']
train_Y = train['COL4']
train_X = train[train.columns[:-1]]
Якщо ви не хочете переміщувати його в Excel і хочете просто зробити це за кодом, виконайте вказані нижче дії.
df = pd.read_csv('file.csv')
df.columns = ['COL1','COL2','COL3','COL4']
train_Y = train['COL3']
train_X = train[train.columns['COL1','COL2','COL4']]
Зауважте, як я оголосив train_X, щоб включити всі стовпці, крім COL3, що є частиною train_Y.
Я сподіваюся, що це допомагає.