머신러닝 과제 중인데


내가 지금 해보고 싶은게


음식점마다 음식 카테고리가 있는데,


음식점 이름             카테고리

A음식점          패스트푸드, 음료, 디저트


이런식으로 여러 값이 한 Row마다 주어짐


전체 데이터를 확인해보니까, 카테고리에 주어지는 값은


총 180개의 유니크한 카테고리들을 여러개 조합시킨 형태임


그러니까 "패스트푸드" 이런 하나 하나의 유니크한 값이 180개라는거


 근데 이걸 원핫 인코딩으로 표현하자니 180개 column으로 표현해서 학습시키면


너무 비효율적이고 정확도도 ㅈ댈거같은거지


그래서 이 180개 컬럼짜리 벡터가 아니라 한 10차원 이하의 벡터로 representation을 할수있을까 싶은데


얘를 빈도수 기반으로 벡터 표현을 할 수 있지않을까?


내가 생각하기에는 음식점의 특성 상 유사한 카테고리끼리는 자주 붙어 나올거라고 생각되거든

(South indian - North Indian 카테고리는 거의 붙어서 나오겠지?)


그래서 같이 등장하는 빈도수를 기반으로 벡터표현을 하면 유사도를 반영한 value로 만들 수 있을거같아서..


어떻게 표현할 수 있을까 고민 중임


그냥 Word2Vector 사용하면 되려나? 근데 이 경우에는 하나의 단어(카테고리) 기준으로 학습되지 않던가


그럼 여러 카테고리가 혼합된 형태면 W2V으로 표현한 각 카테고리 별 벡터들에서


각 카테고리 벡터들을 더하고 평균낸 값으로 representation해도 문제 없으려나?


그러니까, 예를 들어 투썸플레이스의 경우는 "음료, 디저트" 라는 값일때,


W2V 을 돌린 결과 

"음료" 는 (0.01, 0.05, 0.4, 0.08 ... ) 이런 벡터 값이고

"디저트"는 (0.03, 0.1, 0.3, 0.03 ...) 이런 벡터 값이면


두 벡터값을 element-wise하게 그대로 더해주고 2로 나눠준 평균 값인 벡터

(0.02, 0.075, 0.35 ... ) 가

"음료, 디저트" 라는 합성된 카테고리 값을 제대로 representation 했다고 볼 수 있는걸까?


의식의 흐름대로 막 썼는데 코멘트 좀 부탁해


꼭 W2V가 아니라도 좀 더 좋은 방법이 있으면 말해줘도 좋습니다