Skip to main content

Simple package for colaborative filtering

Project description

Colab-Filtering

A simple Python package for collaborative filtering in recommendation systems.

Description

Colab-Filtering provides tools for implementing collaborative filtering techniques in recommendation systems. It includes functions for data normalization and similarity calculations, which are essential components in building recommendation engines.

Features

  • Normalization: Mean-centering of utility matrices
  • Similarity Metrics:
    • Cosine similarity for numeric ratings
    • Jaccard similarity for binary data

Installation

pip install colab_filtering

Requirements

  • Python >= 3.12
  • pandas >= 2.3.0

Usage

Basic Example

import pandas as pd
from norm.mean import mean_norm
from similarity.cosine import cosine_similarity

# Create a utility matrix (users x items)
ratings = [
    {'user_id': 1, 'movie': 'Matrix', 'rating': 5},
    {'user_id': 1, 'movie': 'Titanic', 'rating': 3},
    # ... more ratings
]
df = pd.DataFrame(ratings)
utility = df.pivot_table(index='movie', columns='user_id', values='rating')

# Apply mean normalization
utility_norm = mean_norm(utility)

# Calculate cosine similarity between items
cosine_sim = cosine_similarity(utility_norm)

Using Jaccard Similarity for Binary Data

import pandas as pd
from similarity.jaccard import jaccard_similarity

# Create a binary utility matrix (1 for rated, 0 for not rated)
binary_utility = utility.notna().astype(int)

# Calculate Jaccard similarity
jaccard_sim = jaccard_similarity(binary_utility)

Module Descriptions

norm

  • mean.py: Provides functions for mean normalization of utility matrices.

similarity

  • cosine.py: Implements cosine similarity calculations between users or items.
  • jaccard.py: Implements Jaccard similarity calculations, useful for binary data.

Author

License

This project is licensed under the terms specified in the LICENSE.txt file.

Keywords

big data, collaborative filtering, recommendation, filtering

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

colab_filtering-0.1.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

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

colab_filtering-0.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file colab_filtering-0.1.0.tar.gz.

File metadata

  • Download URL: colab_filtering-0.1.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.7

File hashes

Hashes for colab_filtering-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a42daab78c14e0bffa423d364b2669035f57ddc2ca0ffb89e9d16ca3526095ce
MD5 425d628d9f62d82994c04f9d6d5d37df
BLAKE2b-256 33804290b10548d77cf1f4c7a887309a9d83a44fe453f3212f28703b976360ce

See more details on using hashes here.

File details

Details for the file colab_filtering-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for colab_filtering-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6504a4334509842a0811e35bb297cc164d4242d127a6e1fbd16794b405285ce8
MD5 10416ee1f9faac4fd27e352e182ada32
BLAKE2b-256 8096e77e57afd70fc6e73d8a32f0d261b6dae450cf0c3b500dfec9ac45b72a6c

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