Я разрабатываю нейронную сеть для задачи классификации. У меня есть набор данных со столбцом текстового идентификатора, и я конвертирую идентификатор строки в идентификатор int с помощью функции pandas .factorize ().
Мой столбец текстового идентификатора, который называется 'customer_id', выглядит следующим образом:
customer_id
0 Z59FTQD
1 HMP29SK
2 VPP29SK
3 VPP29SK
.. .. .. .. ..
1500 0JP2FAB
15001 ZJP29AK
После того, как я использую:
dataset['customer_num_id'] = pd.factorize(dataset['customer_id'])[0] + 1
для создания нового столбца с именем «customer_num_id», чтобы представить идентификаторы строк в виде значений int для передачи в мою модель нейронной сети, мой новый столбец выглядит вот так:
customer_id customer_num_id
0 Z59FTQD 1
1 HMP29SK 2
2 VPP29SK 3
3 VPP29SK 3
.. .. .. .. ..
1500 0JP2FAB 1500
1501 ZJP29AK 1501
Я хотел бы обучить свою модель примерно на 80% данных и протестировать ее на оставшихся 20%.
Мой вопрос: следует ли факторизовать набор данных до или после того, как я разделил его на тренировочные и тестовые наборы?