c. Root Mean Squared Error (RMSE)
Sử dụng RootMean Squared Error để đánh giá hiệu quả của thuật tốn, RMSE được tính bằng cơng thức:
Các bước thực hiện bao gồm: - Chuẩn bị dữ liệu
- Tìm hiểu thuật toán
- Cài đặt thuật toán, chạy trên dữ liệu test
- Tính RMSE của các thuật tốn và so sánh, đánh giá
a. Chuẩn bị dữ liệu
Bộ dữ liệu sử dụng: MovieLens 100K Dataset được công bố năm 1998 bởi GroupLens, bao gồm 100 000 ratings từ 943 users cho 1682 bộ phim.
Các file cần quan tâm:
- u.data: Chứa toàn bộ các ratings của 943 users cho 1682 movies. Mỗi user rate ít nhất 20 movies.
- ua.base, ua.test, ub.base, ub.test: là hai tập dữ liệu một cho training, một cho test. - u.user: Chứa thông tin về users, bao gồm: id, tuổi, giới tính, nghề nghiệp, zipcode (vùng miền), vì những thơng tin này cũng có thể ảnh hưởng tới sở thích của các users. Tuy nhiên ở đây sẽ không sử dụng các thông tin này, trừ thông tin về id để xác định các user khác nhau.
- u.genre: Chứa tên của 19 thể loại phim. Các thể loại bao gồm: unknown, Action,
Adventure, Animation, Children's, Comedy, Crime, Documentary, Drama, Fantasy, Film-Noir, Horror, Musical, Mystery, Romance, Sci-Fi, Thriller, War, Western.
- u.item: thông tin về mỗi bộ phim. Trong mỗi dịng sẽ có id của phim, tên phim, ngày phát hành, link trên imdb, và các số nhị phân 0, 1 phía cuối để chỉ ra bộ phim thuộc các thể loại nào trong 19 thể loại đã cho trong u.genre. Một bộ phim có thể thuộc nhiều thể loại khác nhau. Thông tin về thể loại này sẽ được dùng để xây dựng item profiles.
b. Content-based Recommender System
Trong các hệ thống content-based, tức dựa trên nội dung của mỗi item, chúng ta cần xây dựng một bộ hộ sơ (profile) cho mỗi item. Profile này được biểu diễn dưới dạng toán học là một feature vector. Trong những trường hợp đơn giản, feature vector được trực tiếp trích xuất từ item.
Các bước thực hiện: - Đọc dữ liệu items
- Xây dựng item profiles - Tìm mơ hình cho mỗi user
Đọc dữ liệu items: đọc dữ liệu items từ file u.item, dữ liệu train từ ua.base, dữ liệu test từ
ua.test.