인프런 커뮤니티 질문&답변

endeavoer님의 프로필 이미지
endeavoer

작성한 질문수

Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능

딥러닝 추천시스템 변수추가 부분 코드 관련 질문입니다.

해결된 질문

작성

·

3.4K

1

기존에 코드에 나와있는 occupation에 더해 age 변수를 추가하고 싶습니다.

하지만 age embedding layer에 들어갈 input dimension을 len(users['age'].unique()) 라 설정하고 모델을 fit 시키면

InvalidArgumentError: Graph execution error:

라는 에러가 뜹니다.

 

이때, age embedding layer의 input dimension을 len(users)라고 설정하면 fit 코드가 정상적으로 진행됩니다.

그 이유와 변수 embedding layer의 input dimesion을 설정할 때 꼭 unique 값의 개수를 넣어야 하는건지, 그리고 그 이유 도 알고 싶습니다.

답변 1

0

거친코딩님의 프로필 이미지
거친코딩
지식공유자

안녕하세요.

거친코딩입니다.

개인사정으로 인해 답변이 늦은 부분에 사과말씀 전해드립니다.

Q. 에러의 원인과 embedding layer의 input dimesion을 설정할 때 꼭 unique 값의 개수를 넣어야 하는지?

A. 일단 convert 하시는 과정을 빼먹으신 것 같은데, 여기서 convert를 하는 이유는 내가 투입하길 원하는 지표의 유니크 값 만큼 임베딩 Input Socket이 생기고, 거기에 해당하는 특성을 발현 하셔야 하니, Categorical 한 데이터를 0부터 오름차순으로 유니크 값만큼 생성하셔야 합니다. age 변수를 Occupation하듯이 똑같이 해주시면 될 것 같습니다.

답변이 부족하다면 추가 코멘트 부탁드리겠습니다.

감사합니다.

-거친코딩 드림-

endeavoer님의 프로필 이미지
endeavoer

작성한 질문수

질문하기