🥎Tugas Lab 2
Lakukan percobaan penggunaan ANNOY, FAISS, dan HNSWLIB pada dataset sekunder berukuran besar (Micro Spotify) pada link berikut: https://www.kaggle.com/datasets/bwandowando/spotify-songs-with-attributes-and-lyrics/data .
Download data dan load CSV filenya (pilih dataset yg pertama dari dua dataset).
Pilih hanya fitur numerik saja, dan lakukan normalisasi menggunakan StandardScaler.
Lakukan pencarian track terdekat dan bandingkan hasilnya.
Lakkan perbandingan pada exact NN, ANNOY, FAISS, dan HNSW
Boilerplate
Berikut kode dasar yang dapat Anda manfaatkan.
import pandas as pd
import numpy as np
import time
import faiss
from annoy import AnnoyIndex
import hnswlib
from sklearn.neighbors import NearestNeighbors
from sklearn.preprocessing import StandardScaler
# -------------------------------
# Load dataset
# -------------------------------
df = pd.read_csv('spotify_songs.csv') # ganti path sesuai lokasi file
features = ['danceability', 'energy', 'loudness', 'speechiness',
'acousticness', 'instrumentalness', 'liveness', 'valence', 'tempo']
X = df[features].values
# Standarisasi fitur
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
k = 10 # jumlah nearest neighbors
Last updated