Я хочу завершить свой алгоритм логистической регрессии, который предсказывает годовой сезон на основе названия магазина и категории покупки (см. Ниже примерные данные и обратите внимание на кодировку метки. Название магазина - любая типичная строка, в то время как категории, tops
, является одним из множества одинаковых строковых входов. То же самое для четырех сезонов.
store_df.head()
shop category season
0 594 4 2
1 644 4 2
2 636 4 2
3 675 5 2
4 644 4 0
Мой полный код приведен ниже, и я не уверен, почему он не принимает форму моих входных значений. Моя цель - использовать магазин и категорию, чтобы предсказать сезон.
predict_df = store_df[['shop', 'category', 'season']]
predict_df.reset_index(drop = True, inplace = True)
le = LabelEncoder()
predict_df['shop'] = le.fit_transform(predict_df['shop'].astype('category'))
predict_df['top'] = le.fit_transform(predict_df['top'].astype('category'))
predict_df['season'] = le.fit_transform(predict_df['season'].astype('category'))
X, y = predict_df[['shop', 'top']], predict_df['season']
xtrain, ytrain, xtest, ytest = train_test_split(X, y, test_size=0.2)
lr = LogisticRegression(class_weight='balanced', fit_intercept=False, multi_class='multinomial', random_state=10)
lr.fit(xtrain, ytrain)
Когда я запускаю вышеупомянутое, я получаю ошибку, ValueError: bad input shape (19405, 2)
Моя интерпретация заключается в том, что это связано с двумя входами функций, но что мне нужно изменить, чтобы использовать обе функции?