Skip to main content

Create a progression of recommendations from a user-supplied recommender

Project description

Progression

Code style: black

Create a progression of recommendations from a user-supplied recommender. For more info, see our official docs

General

This package was made for a specific use-case but should work with any content-based recommendation engine and possibly user-based recommenders.

The initial use case was to create a visual progression of artwork recommendations. This was done to create interesting collections of fine artworks powered by our computer vision recommendation engine.

To see an example, see our samples.

Quickstart

Install

pip install graph-progression

Implement

Progession has a full sample set to show the functionality of the package w/o the need of a recommender.

from graph_progression import DFSProgressor, random_walk

progressor = DFSProgressor()
progressor.create_progression(0, random_walk, progression_length=3)  
# [0, 8114, 9353]

progressor.graph
# {
# 0: [8114, 5298, 2050, 4837, 1376, 2924, 8689, 8000, 2171, 3246], 
# 8114: [9353, 8647, 8768, 8391, 8555, 8879, 9102, 9481, 9282, 8142]
# }

As you can see, progession generates "recommendations" at each step, uses them to populate a graph (for memoization), and then continues on. Not shown here, but it also has the intelligence to backtrack using the graph if it ends a recommendation (node) with no recommedations (edges).

Features

  • Recommendation progression via sequential depth-first search
  • Memoization
  • Flexible API that can take as inputs:
    • Starter graph
    • Recommendation algorithm
    • Post recommendation filters
    • Selection algorithm
    • Progession length

Credits

This package was created with Cookiecutter and the mgancita/cookiecutter-pypackage project template.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graph_progression-0.0.2.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

graph_progression-0.0.2-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file graph_progression-0.0.2.tar.gz.

File metadata

  • Download URL: graph_progression-0.0.2.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.7.12 Linux/5.11.0-1028-azure

File hashes

Hashes for graph_progression-0.0.2.tar.gz
Algorithm Hash digest
SHA256 69d58f52757b42e99e01a9795314ffb4819aa00afa60c27c1ad9589812009ed5
MD5 c87a55695bf8c8001e2fac3f34b9c5ed
BLAKE2b-256 77b6bd9c278ec0045762ce9bfe0ecd4cee5d4d6cbf424daf8b61c349aae7bbfb

See more details on using hashes here.

File details

Details for the file graph_progression-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: graph_progression-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.7.12 Linux/5.11.0-1028-azure

File hashes

Hashes for graph_progression-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0d381486f40df9277979d6717437defe816db8c8e08408ba643d610c36de1ca8
MD5 965a9d9c7915e16e438b83cc09e5f251
BLAKE2b-256 543fdddafa4c7825e6107bf00036ec41be3c9098d8959516f71fbacac9117ad3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page