CoolFace
Datasetpublic

DanielRegaladoCardoso/lastfm-1k-twotower

Last.fm 1K — Two-Tower Ready A processed, train-ready version of the Last.fm 1K users dataset, prepared for retrieval/recommender models (two-tower, ALS, BPR, etc.). Built as part of loopback — an open-source two-tower neural recommender for music. What's inside Split Rows Size train 15,320,694 144 MB val 1,915,086 18 MB test 1,915,087 18 MB Each row: (user_idx, track_idx, artist_idx, ts) — integer-encoded IDs ready to plug into an embedding… See the full description on the dataset page: https://huggingface.co/datasets/DanielRegaladoCardoso/lastfm-1k-twotower.

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
0likes39downloads
Dataset Card

Last.fm 1K — Two-Tower Ready

A processed, train-ready version of the Last.fm 1K users dataset, prepared for retrieval/recommender models (two-tower, ALS, BPR, etc.).

Built as part of loopback — an open-source two-tower neural recommender for music.

What's inside

SplitRowsSize
train15,320,694144 MB
val1,915,08618 MB
test1,915,08718 MB

Each row: (user_idx, track_idx, artist_idx, ts) — integer-encoded IDs ready to plug into an embedding layer, plus a UTC timestamp.

Vocabulary: 992 users · 1,500,661 unique tracks · 174,091 artists.

Splits

Temporal, not random: oldest 80 % → train, next 10 % → val, last 10 % → test. Temporal splits avoid look-ahead bias that random splits hide and are standard for honest RecSys evaluation.

Source

Last.fm 1K users — 19.1 M listening events from 1000 users (2005–2009). Original schema: (user_id, timestamp, artist_mbid, artist_name, track_mbid, track_name).

Processing

track_idx is encoded from the key f"{artist_name} — {track_name}" (artist + title combo, deduplicates the same track across MBIDs). Nulls in user_id, track_name, artist_name, timestamp were dropped. UTF-8 quirks handled with quote_char=None in Polars.

Full pipeline: <https://github.com/DanielRegaladoUMiami/loopback/blob/main/src/loopback/data.py>

License

Apache 2.0 for the processing pipeline and integer encoding. The underlying interaction data follows the original Last.fm 1K dataset terms.