- 專案目標:建立一個電影特徵資料庫,並儲存至向量資料庫 Qdrant 進行相似度排名推薦。
- 網站工具:這是一個使用 PHP、MySQL 以及 Qdrant 的專案。
- 資料集:使用 MovieLens 的
ratings.csv
資料 (User-Item Ratings)。 - 特徵訓練:透過 PySpark-RDD 使用 Alternating Least Square (ALS) 演算法進行電影特徵訓練。
- 相似度計算:Cosine Similarity。
- 下載電影資料:MovieLens Latest Datasets。
- 建立一個 PHP、MySQL、Qdrant 的環境。
- 學習使用 Google Colab。
- 在 Google Colab 的環境下使用
data/MovieLens-Spark-ALS.ipynb
進行資料訓練,並放入 Qdrant 資料庫。
- 複製 Config 檔案
app/config/config-example.php
並重新取名為app/config/config.php
。 - 設定 Config 參數:在新建的
config.php
檔案中設定相關參數。 - 將網站導向 public 資料夾。
- 導入資料集:將電影資料集的
movies.csv
和links.csv
檔案放到data
目錄下。 - 匯入資料:運行
cd data
以及php import.php
來將資料導入 MySQL 資料庫。
- MovieLens Latest Datasets (Last accessed: 2023/08/12)
- Qdrant (Last accessed: 2023/08/12)
- Building a Movie Recommendation Service with Apache Spark & Flask - Part 1 (Last accessed: 2023/08/12)
- spark-movie-lens (Last accessed: 2023/08/12)
- Recommendation Engines Using ALS in PySpark (MovieLens Dataset) (Last accessed: 2023/08/12)
- How does Netflix recommend movies? Matrix Factorization (Last accessed: 2023/08/12)