В наборе обучающих данных есть столбцы объектов, называемые магазинами и т. Д. Теперь для модели машинного обучения я преобразовал столбцы в метки для учебных целей. Используя приведенный ниже код
from sklearn.ensemble import RandomForestRegressor
X = df_all_4.copy()
y = df_all_4.item_price
X = X.drop(['item_price','date'], axis=1)
for c in df_all_4.columns[df_all_4.dtypes == 'object']:
X[c] = X[c].factorize()[0]
rf = RandomForestRegressor()
rf.fit(X,y)
Теперь тестовый набор данных также имеет эти категориальные столбцы, но с некоторыми отсутствующими столбцами, включая целевой столбец, здесь, я думаю, не имеет значения. Но если я снова помечу набор данных для обучения (неупорядоченный), метки будут отличаться от метки, использованной при обучении , поэтому модель не будет работать должным образом. Как решить эту проблему и получить одинаковые кодировки при обучении и тестировании