boostcampaitech6 / level1-bookratingprediction-recsys-01 Goto Github PK
View Code? Open in Web Editor NEWlevel1-bookratingprediction-recsys-01 created by GitHub Classroom
level1-bookratingprediction-recsys-01 created by GitHub Classroom
기본 모델의 Epoch수가 높지 않은데 Loss값의 양상을 보니 무거운 모델로 좀 더 학습을 시키는 경우 과적합 가능성이 커보입니다. 데이터 증강(노이즈 추가 등)을 통해 모델 성능을 높여보는건 어떨까요?
category가 비어있는 책에 대해서, 그 책을 읽은 사람들이 공통으로 많이 읽은 책들의 category를 해당 책의 category로 채우면 어떨까요?
해당 책을 읽어서 rating을 한 user들을 찾고, 그 user들이 읽은 다른 책들을 다시 모아서 가장 많이 나오는 category를 찾는 거죠.
근데 지금 대부분의 책의 category가 fiction이어서, 이런 방법으로 결측을 채우면 fiction만 들어갈까 우려가 되긴 합니다.
그래서 추가적으로 생각한 아이디어는, book data에서 나오는 모든 category의 빈도를 구해서, 이를 이용하여 비율을 계산하여 그 비율이 가장 높은 category로 채우는 것은 어떨까 합니다.
기존 base code line에서는 user_id랑 isbn만 사용했는데, main.py에서 context_data.py로 바꾸어 로드하면 모든 data를 사용하여 학습합니다!
이 점 참고해서 학습시켜보시면 좋을 것 같아요!
basecode line의 CNN_FM은 context data의 user_id 와 isbn만 사용하는데, 여기에 나머지 정보들도 다 넣어서 학습시키면 결과가 더 좋아지지 않을까요?
Isbn의 첫 글자가 국가를 의미하는 데, language의 일부 값이 isbn 첫 글자와 매핑되는 규칙이 있습니다.
따라서 이를 이용하여 결측치를 매핑할 수 있을 것 같습니다. 또 language 칼럼의 값들이 세분화 되어있어 상위 몇개를 제외하고 other로 매핑해 사용하겠습니다.
연령별로 선호하는 책의 장르가 다를 것 같은데 평가한 User정보를 바탕으로 선호하는 책의 장르를 정리한 뒤 books['category']의 결측치를 채워보는 건 어떨까요?
FM부분에서 설명력을 늘리고 싶은데 방법이 있을까요?
basecode line에서 users 데이터의 age변수를 10 단위로 나누고 있는데요,
EDA 했던 것을 생각하면 20대, 30대 사용자가 많은데 이 부분을 더 자세하게 나누면 학습 결과가 더 좋아질 수도 있지 않을까요?
book title이 결측이 없으니까 그 내용을 summary 앞에 붙여서 title + summary 형태로 바꾸는 것은 어떨까요?
book title도 책의 내용이 담겨 있으니까, 같이 학습을 시키면 좋을 것 같습니다.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.