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.2.tar.gz (12.5 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.2-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for colab_filtering-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9c4f13523a4d1020ced9f36a158bc52b161309649f294fa7bf54c42dbf29ceea
MD5 1b16d3ebe9ae84f5f515ae93a5529a44
BLAKE2b-256 3486c23893aba79d5a78aa2309e3f89e601ff00141def9e4bbbf3825b9095855

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for colab_filtering-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 670c1ba58d4ced6c6062b2d9451200e406278381f6b2412f2c09898dbeea2233
MD5 1472fed2bb8b364eac516f856feece6c
BLAKE2b-256 d07a0d6ea3eabe66136a3488d0cc10befa75fa9cb91ae84eeb354013f183baa5

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