All Projects → EthanRosenthal → rec-a-sketch

EthanRosenthal / rec-a-sketch

Licence: MIT license
content discovery... IN 3D

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to rec-a-sketch

Rsparse
Fast and accurate machine learning on sparse matrices - matrix factorizations, regression, classification, top-N recommendations.
Stars: ✭ 145 (+222.22%)
Mutual labels:  matrix-factorization, recommender-system
Spotlight
Deep recommender models using PyTorch.
Stars: ✭ 2,623 (+5728.89%)
Mutual labels:  matrix-factorization, recommender-system
Cofactor
CoFactor: Regularizing Matrix Factorization with Item Co-occurrence
Stars: ✭ 160 (+255.56%)
Mutual labels:  matrix-factorization, recommender-system
Flurs
🌊 FluRS: A Python library for streaming recommendation algorithms
Stars: ✭ 97 (+115.56%)
Mutual labels:  matrix-factorization, recommender-system
Tf-Rec
Tf-Rec is a python💻 package for building⚒ Recommender Systems. It is built on top of Keras and Tensorflow 2 to utilize GPU Acceleration during training.
Stars: ✭ 18 (-60%)
Mutual labels:  matrix-factorization, recommender-system
Carskit
Java-Based Context-aware Recommendation Library
Stars: ✭ 98 (+117.78%)
Mutual labels:  matrix-factorization, recommender-system
Polara
Recommender system and evaluation framework for top-n recommendations tasks that respects polarity of feedbacks. Fast, flexible and easy to use. Written in python, boosted by scientific python stack.
Stars: ✭ 205 (+355.56%)
Mutual labels:  matrix-factorization, recommender-system
Recoder
Large scale training of factorization models for Collaborative Filtering with PyTorch
Stars: ✭ 46 (+2.22%)
Mutual labels:  matrix-factorization, recommender-system
recommender system with Python
recommender system tutorial with Python
Stars: ✭ 106 (+135.56%)
Mutual labels:  matrix-factorization, recommender-system
Recommendation.jl
Building recommender systems in Julia
Stars: ✭ 42 (-6.67%)
Mutual labels:  matrix-factorization, recommender-system
Expo Mf
Exposure Matrix Factorization: modeling user exposure in recommendation
Stars: ✭ 81 (+80%)
Mutual labels:  matrix-factorization, recommender-system
STACP
Joint Geographical and Temporal Modeling based on Matrix Factorization for Point-of-Interest Recommendation - ECIR 2020
Stars: ✭ 19 (-57.78%)
Mutual labels:  matrix-factorization, recommender-system
Recosystem
Recommender System Using Parallel Matrix Factorization
Stars: ✭ 74 (+64.44%)
Mutual labels:  matrix-factorization, recommender-system
Rectorch
rectorch is a pytorch-based framework for state-of-the-art top-N recommendation
Stars: ✭ 121 (+168.89%)
Mutual labels:  matrix-factorization, recommender-system
Elliot
Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation
Stars: ✭ 49 (+8.89%)
Mutual labels:  matrix-factorization, recommender-system
Implicit
Fast Python Collaborative Filtering for Implicit Feedback Datasets
Stars: ✭ 2,569 (+5608.89%)
Mutual labels:  matrix-factorization, recommender-system
Fastfm
fastFM: A Library for Factorization Machines
Stars: ✭ 908 (+1917.78%)
Mutual labels:  matrix-factorization, recommender-system
Orange3 Recommendation
🍊 👎 Add-on for Orange3 to support recommender systems.
Stars: ✭ 21 (-53.33%)
Mutual labels:  matrix-factorization, recommender-system
retailbox
🛍️RetailBox - eCommerce Recommender System using Machine Learning
Stars: ✭ 32 (-28.89%)
Mutual labels:  matrix-factorization, recommender-system
Course-Recommendation-System
A system that will help in a personalized recommendation of courses for an upcoming semester based on the performance of previous semesters.
Stars: ✭ 14 (-68.89%)
Mutual labels:  matrix-factorization, recommender-system

Repo for building Sketchfab recommendations. Collecting data, training algorithms, and serving recommendations on a website will all be here.

This repo will likely not work for python 2 due to various encoding issues.

For some of the crawling processes, Selenium is used. You must provide a path to your browser driver in config.yml for this to work. See here for links to download the driver binary.

Collecting data

crawl.py

Use this script to crawl the Sketchfab site and collect data. Currently supports 4 processes as specified by --type argument:

  • urls - Grab the url of every sketchfab model with number of likes >= LIKE_LIMIT as defined in the config.
  • likes - Given collected model urls, collect users who have liked those models.
  • features - Given collected model urls, collect categories and tags associated with those models.
  • thumbs - Given collected model urls, collect 200x200 pixel thumbnails of each model.

Run like

python crawl.py config.yml --type urls

I ran into lots of issues with timeouts when crawling features. To pick back up on a particular row of the urls file pass --start row_number as an optional argument.

anonymize.py

Used to anonymize user_id's in likes data. Granted, one could probably back this out, but this serves as a small barrier of privacy.

To run, you must define a secret key for hashing the user_id's

python anonymize.py unanonymized_likes.csv anonymized_likes.csv "SECRET KEY"

The data

Model urls, likes, and features are all in the /data directory. These were roughly collected around October 2016.

All data are pipe-separated csv files with headers and with pandas read_csv() keyword arguments quoting=csv.QUOTE_MINIMAL and escapechar='\\'

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].