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.1.tar.gz (11.2 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.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for colab_filtering-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6fb0a0a23f5306a99e9610439944b8526a77b00776bdf282ba90018389e72e82
MD5 8f2b0340363e9673397d035de276d086
BLAKE2b-256 77f50581d48ded4d863307231fea13ed209b4d46a4d8e8517a051f7f8b57d083

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for colab_filtering-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4d03a6f1461145ff6c5b0c0f12fd1385142913b23db9ebde8cb1a497b98b1961
MD5 4f4cbb9df3c5bbeceae3f88a2fc43957
BLAKE2b-256 bfd2c95d9f5268bbcbd3e156c0c79d6aa291e099140cc2eea50b2e240e68968f

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