Sebelum membaca ini, saya sangat baru dalam pengkodean sehingga banyak hal yang akan saya tanyakan adalah ngeri.

Saya menggunakan http://www.d2l.ai/chapter_recommender-systems/movielens.html dan mencoba menggunakan kumpulan data itu untuk mengembangkan keterampilan pengkodean saya. Saya mengkode di Python's Spyder.

Yang saya ingin tahu adalah bagaimana jika saya adalah CEO dan ingin tahu apa saja 15 film teratas berdasarkan Nama dan Peringkat yang diberikan oleh pengguna. Ini cukup sederhana untuk pembuat kode menengah tetapi ingatlah bahwa saya adalah pemula yang paling rendah. Kode yang saya gunakan sejauh ini adalah salin tempel apa yang telah mereka lakukan pada tautan itu untuk mengunggah file ke Python.

Pola Pikir Saya: Saya yakin langkah saya selanjutnya adalah membuat DataFrame menggunakan Pandas dan entah bagaimana menggunakan penghitungan nilai. Saya mencari banyak hal secara online dan itu memberikan banyak informasi kepada saya seperti Jaccard Similarities and Distances. Saya tidak tahu apakah jenis pertanyaan ini memerlukan pengaturan seperti itu.

Bantuan apa pun akan disukai dan jika Anda merespons, saya dapat mengajukan lebih banyak pertanyaan karena penasaran.

-2
Zestzy 5 April 2021, 07:37

1 menjawab

Jawaban Terbaik

Asumsikan Anda telah mengunduh ml-100k.zip dan menyimpannya di suatu tempat.

# Read user rating data as dataframe
data = pd.read_csv(os.path.join(data_dir, 'u.data'), '\t', names=['user_id', 'item_id', 'rating', 'timestamp'])

# Since you want the average rating of each movie,
# you can group by `item_id` which represent each movie.
# After groupby, do a mean operation on each group.
# Also you want the ratings higher at first,
# you can sort on `rating` column discending
average_rating = data.groupby('item_id', as_index=False)['rating'].mean().sort_values('rating', ascending=False)

# Read move data as dataframe
item = pd.read_csv(os.path.join(data_dir, 'u.item'), '|', names=['movie id', 'movie title', 'release date', 'video release date', 'IMDb URL', 'unknown', 'Action', 'Adventure', 'Animation', 'Children\'s', 'Comedy', 'Crime', 'Documentary', 'Drama', 'Fantasy', 'Film-Noir', 'Horror', 'Musical', 'Mystery', 'Romance', 'Sci-Fi', 'Thriller', 'War', 'Western'])

# Load movie title from u.item to average_rating
average_rating['movie_title'] = average_rating['item_id'].map(item.set_index('movie id')['movie title'])

Karena beberapa film hanya dinilai oleh sejumlah kecil orang, Anda mungkin perlu memfilternya terlebih dahulu.

0
Ynjxsjmh 5 April 2021, 06:02