recpack.datasets.ThirtyMusicSessions

class recpack.datasets.ThirtyMusicSessions(path: str = 'data', filename: Optional[str] = None, use_default_filters=True)

A collection of listening and playlists data retrieved from Internet radio stations through Last.fm API.

Dataset presented in Turrin, Roberto, et al. “30Music Listening and Playlists Dataset.” RecSys Posters. 2015. For info and download link see https://recsys.deib.polimi.it/datasets/.

Warning

RecPack currently does not support downloading and parsing the raw files of the dataset. We expect a CSV file with the user-item-timestamp information instead.

Parameters
  • path (str, optional) – The path to the data directory. Defaults to data

  • filename (str, optional) – Name of the file, if no name is provided the dataset default will be used if known. If the dataset does not have a default filename, a ValueError will be raised.

  • use_default_filters (bool, optional) – Should a default set of filters be initialised? Defaults to True

Methods

add_filter(_filter[, index])

Add a filter to be applied when loading the data.

fetch_dataset([force])

Check if dataset is present, if not download

load()

Loads data into an InteractionMatrix object.

Attributes

DEFAULT_FILENAME

Default filename that will be used if it is not specified by the user.

ITEM_IX

Name of the column in the DataFrame that contains item identifiers.

TIMESTAMP_IX

Name of the column in the DataFrame that contains time of interaction in seconds since epoch.

USER_IX

Name of the column in the DataFrame that contains user identifiers.

file_path

The fully classified path to the file from which dataset will be loaded.

ITEM_IX = 'tid'

Name of the column in the DataFrame that contains item identifiers.

TIMESTAMP_IX = 'position'

Name of the column in the DataFrame that contains time of interaction in seconds since epoch.

USER_IX = 'sid'

Name of the column in the DataFrame that contains user identifiers.

add_filter(_filter: recpack.preprocessing.filters.Filter, index=None)

Add a filter to be applied when loading the data.

If the index is specified, the filter is inserted at the specified index. Otherwise it is appended.

Parameters
  • _filter (Filter) – Filter to be applied to the loaded DataFrame processing to interaction matrix.

  • index (int) – The index to insert the filter at, None will append the filter. Defaults to None

fetch_dataset(force=False)

Check if dataset is present, if not download

Parameters

force (bool, optional) – If True, dataset will be downloaded, even if the file already exists. Defaults to False.

property file_path

The fully classified path to the file from which dataset will be loaded.

load() recpack.matrix.interaction_matrix.InteractionMatrix

Loads data into an InteractionMatrix object.

Data is loaded into a DataFrame using the _load_dataframe function. Resulting DataFrame is parsed into an InteractionMatrix object. During parsing the filters are applied in order.

Returns

The resulting InteractionMatrix

Return type

InteractionMatrix