1 Star 1 Fork 0

githubsync / practical-recommender-systems

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

moviegeek

The MovieGEEKs is a movie site implemented to accompany my book "Practical Recommender Systems". It is used in the book to show how recommender systems work, and how you can implement them.

The book is still being written, and so this is still under construction.

installation guide:

This site is using the MovieTweetings dataset, and uses themoviedb.org to get poster images. A big thanks to both of them for all their work. Please go and visit them.

The dataset is used in the populate_moviegeek script which downloads it and imports the data into the database configured in Django.

Project Setup

The following is expecting you to have python 3.x installed on your machine. I recommend looking that the Hitchhikers guide to Python if you haven't.

For windows users it's a good idea to install the Anaconda package. Anaconda is the leading open data science platform powered by Python (according to their homepage) Anaconda

Download code

> git clone https://github.com/practical-recommender-systems/moviegeek.git

Create a virtual environment for the project

Look at the following guide for more details guide

> cd moviegeek
> virtualenv -p python3 prs
> source prs/bin/activate

if you are running Anaconda you can also use conda virtual environment instead.

Get the required packages

pip3 install -r requirements.txt

[OPTIONAL] install and use PostGreSQL

Database setup

Django is setup to run with sqllite3 out of the box, and you can also use that when you run the site. However there are things that will be considerable faster if if you install postgres.

The database

If you dont have postgres running then you should start out installing it. It's a free, and easy to install.

Get it here postgresql download and follow the instructions on the site.

When it install and running, create a database. In the following the database is called moviegeek. You can do this using the admin tool (pgadmin)

The database driver

When the database is spinning its time for the python driver. I recommend using the following http://initd.org/psycopg/,

First download the driver, unzip (if zipped) then run

> python3 setup.py install
> pip3 install psycopg2

Configuration

To update the database in MovieGEEKS go to in prs_project/settings.py and update the following

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'db_name',                      
        'USER': 'db_user',
        'PASSWORD': 'db_user_password',
        'HOST': '',
        'PORT': 'db_port_number',
    }
}

you should update the NAME, USER, PASSWORD, HOST, PORT fields.

Create the dbs.

If you have a database running on your machine I would encourage you to connect it, by updating the settings in prs_project/settings.py (fx like shown above).

To set up another database is described in the Django docs here

> python3 manage.py makemigrations
> python3 manage.py migrate

Populate the db by running the following script.

(WARNING: this might take some time.) (WARNING: If you are using python >3.6 on a Mac then you need to run "/Applications/Python\ 3.6/Install\ Certificates.command". More details here)

> python3 populate_moviegeek.py
> python3 populate_ratings.py

Create a themoviedb.org id

  • go to https://www.themoviedb.org/account/signup and create an api_key
  • create a file in the root of the directory called ".prs" and add { "themoviedb_apikey": <INSERT YOUR APIKEY HERE>}. (remember to remove the "<" and ">") When you are finished, the file contents should look something like {"themoviedb_apikey": "6d88c9a24b1bc9a60b374d3fe2cd92ac"}

Start the web server

To start the development server run:

> python3 manage.py runserver 127.0.0.1:8000

Running the server like this, will make the website available http://127.0.0.1:8000 other applications also use this port so you might need to try out 8001 instead.

Closing down.

when you are finished running the project you can:

  • Close down the server by pressing -c
  • exit the virtual env:
> deactivate
MIT License Copyright (c) 2018 kimfalk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

本地测试 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/githubsync/practical-recommender-systems.git
git@gitee.com:githubsync/practical-recommender-systems.git
githubsync
practical-recommender-systems
practical-recommender-systems
master

搜索帮助