Skip to content

Commit d9a6323

Browse files
authored
Merge pull request #1374 from srii5477/recommendation/sridevi
added files
2 parents 74d5b87 + f709c3e commit d9a6323

File tree

2 files changed

+422
-0
lines changed

2 files changed

+422
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## Mock Spotify Music Recommendation System ##
2+
**Project Overview:**
3+
In this project, we will build a song recommendation system based on your personal Spotify data that divides the songs that you liked into 'k' number of playlists using the K-Means Clustering algorithm based on similarity in audio features such as energy, tempo, danceability, etc. Taking a look at the clustering, you will get an idea about what each playlist represents, e.g. you may notice that playlist #1 contains slow and melancholic songs, etc. Further, you get to test the recommendation ability of the system by getting new songs by a particular artist/any other way to get a bunch of unseen random songs to test whether it makes sense for the new songs to be classified under the category they have been assigned to.
4+
K-Means is a popular unsupervised machine learning algorithm used for clustering data into groups based on feature similarity. The goal is to partition a dataset into 'k' distinct clusters, where each data point belongs to the cluster with the nearest mean.
5+
**Steps of the algorithm:**
6+
Initialization: Choose 'k' initial centroids randomly from the data points.
7+
Assignment Step: Assign each data point to the nearest centroid, forming kk clusters.
8+
Update Step: Recalculate the centroids as the mean of the points in each cluster.
9+
Convergence Check: Repeat the assignment and update steps until centroids no longer change significantly or a maximum number of iterations is reached.
10+
We use the library function from sklearn to achieve our purpose here.
11+
**Pros and Cons of the algorithm:**
12+
Pros:
13+
14+
* Simple to implement and understand.
15+
* Efficient for large datasets.
16+
* Works well with spherical clusters.
17+
18+
Cons:
19+
20+
* Requires the number of clusters 'k' to be specified in advance.
21+
* Sensitive to initial centroid placement.
22+
* Can converge to local minima.
23+

0 commit comments

Comments
 (0)