Skip to content
Back to skills

Implicit Als Collaborative Filtering

ASecurity

Alternating Least Squares matrix factorization on sparse user-item interaction matrices for implicit feedback recommendations.

  • 61 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 12, 2026
toolspythongo

Works with

  • cli

Security analysis

A100/100

Scanned September 12, 2026

npx -y skills add wenmin-wu/ds-skills --skill implicit-als-collaborative-filtering --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Implicit Als Collaborative Filtering?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Implicit Als Collaborative Filtering
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wenmin-wu-implicit-als-collaborative-filtering/badge)](https://www.skillsdirectory.com/skills/wenmin-wu-implicit-als-collaborative-filtering)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tabular-implicit-als-collaborative-filtering
description: >
  Alternating Least Squares matrix factorization on sparse user-item interaction matrices for implicit feedback recommendations.
---
# Implicit ALS Collaborative Filtering

## Overview

For implicit feedback (purchases, clicks — no ratings), factorize the sparse user-item interaction matrix into low-rank latent factors using ALS. The `implicit` library provides a GPU-accelerated implementation. Recommendations come from dot-product similarity between user and item factor vectors.

## Quick Start

```python
import implicit
import numpy as np
from scipy.sparse import coo_matrix

def build_interaction_matrix(df, user_col, item_col):
    users = df[user_col].astype("category")
    items = df[item_col].astype("category")
    data = np.ones(len(df))
    return coo_matrix((data, (users.cat.codes, items.cat.codes)))

coo = build_interaction_matrix(transactions, "customer_id", "article_id")
model = implicit.als.AlternatingLeastSquares(
    factors=100, iterations=15, regularization=0.01
)
model.fit(coo.tocsr())

# Recommend for a user
ids, scores = model.recommend(user_id, coo.tocsr()[user_id], N=12)
```

## Workflow

1. Build sparse COO matrix from transaction logs (user × item)
2. Convert to CSR format for efficient row slicing
3. Fit ALS model with tuned factors/iterations/regularization
4. Generate top-N recommendations per user via `model.recommend`
5. Batch inference in chunks (2000 users) for memory efficiency

## Key Decisions

- **Factors**: 50-200; higher captures more patterns but risks overfitting
- **Temporal filtering**: Train on recent window (7-21 days) to capture current trends
- **Validation**: MAP@K on a held-out recent time window, not random split
- **GPU**: `implicit` supports GPU; 10x faster for large matrices

## References

- H&M Personalized Fashion Recommendations (Kaggle)
- Source: [h-m-implicit-als-model-0-014](https://www.kaggle.com/code/julian3833/h-m-implicit-als-model-0-014)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.