Skip to content

seemoreseaglass/movie-recommendation

Repository files navigation

🎞️Movie Recommendation🍿

Table of Contents

Overview

This project is my first portfolio, which is improved version of my final project for CS50, which I finished last year. It's designed to show what I learned through the course: basic web programming with python, javascript and HTML/CSS; data manipulation of SQL database etc. The application is a movie-recommendation system where users can search and get recommendations from imdb dataset.

このプロジェクトは私の最初のポートフォリオで、昨年修了したCS50の修了プロジェクトの改良版です。コースで学習したPython、javascript、HTML/CSSを使った基本的なウェブプログラミング、SQLデータベースのデータ操作などのスキルを活かしています。アプリケーションの機能としては、ユーザーがimdb datasetから映画を検索してお勧めの映画を表示できるレコメンダーシステムです。

Backstory

At the time I built it for CS50, the recommendation algorithm was content-based filtering, which simply shows users movie titles that stars user's favorite actors/actresses.

After completed CS50, I was keen to learn more about data engineering since I was fascinated when the first moment I saw fetched data, but what I built was far from something useful. I learned some pyhton libraries for data processing such as pandas and numpy. Now this project uses collaborative filtering, which enables users to find new interests. For other user's liking data, which I don’t have actual one, I created a sample data from MovieLens Latest Datasets(ml-latest-small.zip). Please check the details on my kaggle notebook

Additionally, I decided to change SQL language from SQLite to MYSQL since it seems to be the most popular language.

CS50のために作った当時のレコメンデーション・アルゴリズムは、コンテンツベースフィルタリングというもので、単純にユーザーの好きな俳優が出演している映画を表示するものでした。

CS50修了後、クエリに引っ張られてきたデータを見たときに感動する一方、私が作ったものは役に立つものから程遠いものだったため、データエンジニアリングについてもっと学びたいと思いました。実際にpandasやnumpyといったデータ処理用のPyhtonライブラリをいくつか学び、本プロジェクトでは協調フィルタリングを使っています。とはいえ、実際のユーザーのライキングに関するデータは持ち合わせていないので、MovieLens Latest Datasets(ml-latest-small.zip)からサンプルデータを作成しました。詳しくはこちらのKaggleノートをご覧ください。

さらに、SQL言語をSQLiteから最も人気のあるSQL言語であるMYSQLに変更することにしました。

Technologies

+ technology additionally used
- technology previously used

Category Contents
Programming + Data Processing (pandas, numpy)
Python 3.10.11, JavaScript, HTML/CSS
Framework Flask 2.3.2
Database - SQLite -> + MYSQL
+ DB Connecion & Execution( SQLAlchemy , PyMySQL )
Version Control + git
Hosting(Currently stop hosting) + Google Cloud Platform(App Engine & Cloud SQL)
Recommender Algorithm - Content-based Filtering -> + Collaborative Filtering(scikit-learn)
CSS Bootstrap 5.1.3

Features

Features 機能
User Registration & Authentication ユーザー登録と認証
Query クエリ
Liking  ライク機能
Collaborative Filtering  協調フィルタリング

Contact

Please message me if you find bugs or technical issues in my codes. That helps a lot.

コードにバグや技術的な問題を見つけたら、ご連絡をいただけると大変助かります。

LinkedIn

Acknowledgements





Back to top

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published