인프런 커뮤니티 질문&답변
train 데이터 생성시 제거하는 컬럼
작성
·
181
0
안녕하세요
좋은 강의 감사드립니다.
ML 모델을 위한 학습과 테스트 테이블(데이터 세트) 생성하기 - 02
1분 부분에서 train_data 만드는 부분에서 질문이 있습니다.
강의와 코드를 보면 user_id, product_id, order_id 를 train_data에 포함하지 않으시는데요
order_id는 어차피 train에 하나씩 있으니 상관없다고 해도
user_id와 product_id는 포함을 시켜줘야 하는 것 아닌가요?
어떤 유저가 priors 에서 재주문 비율이 높다면, train에도 user_id 를 넣어주어야 하는 논리로요
(product 도 마찬가지)
답변 1
0
권 철민
지식공유자
안녕하십니까,
음, train 데이터는 학습을 위한 의미가 있는 feature로만 구성합니다. 그러니까, 학습을 위해서 어떤 특성이 있는 값으로 구성을 합니다.
그런데 id와 같은 식별자는 그런 역할을 하지 못합니다. 오히려 id와 같은 식별자는 식별자적인 특성을 학습하게 되면 오히려 오버피팅이 될 수 있는 가능성이 있습니다.
그래서 user_id, product_id, order_id와 같은 식별자 컬럼은 학습 데이터를 생성하는 feature 데이터에서는 제외되어야 합니다.
감사합니다.






음.. 그럼 유저의 성향(feature)들은 user_mart에 모두 만들어 놓았으니(예: usr_avg_prd_cnt), 이런 "feature" 들을 사용하고, 식별자 역할을 하는 것은 모두 빼줘야 한다는 말씀이신가요?
"식별자" 를 feature에서 제거해줘야 한다는 것은 뭔가 일반적으로 통용되는 원칙 것이겠군요..;?