I am a newbie in machine learning topic and I need to create model from music data.

It contains features of the songs but it is not labeled. How can I create a model from that ?

Do I need to use unsupervised learning algorithms ? Which one is better or is it better if I use deep learning methods.

Data is looking like this:

      danceability  loudness  valence  energy  instrumentalness  acousticness  
136         0.795    -8.334    0.578   0.409          0.000000      0.684000   
442         0.502    -4.556    0.720   0.912          0.000173      0.000025   
92          0.713   -14.590    0.560   0.258          0.006060      0.877000   
67          0.505   -14.951    0.723   0.782          0.930000      0.921000   
127         0.470    -6.740    0.490   0.809          0.006710      0.272000 
  • 2
    $\begingroup$ I don't think you have a clue what you need to do. What is your objective? $\endgroup$ Dec 11, 2018 at 12:11
  • $\begingroup$ I need to guess if the new songs are fit to user's taste with the song feature data I got. $\endgroup$
    – E. Dem
    Dec 11, 2018 at 12:18
  • $\begingroup$ If you have little knowledge on the matter then this is going to be a hit and miss kind of operation. If your dataset is not labeled then you must use unsupervised learning, so something like cluster analysis. $\endgroup$ Dec 11, 2018 at 12:52
  • $\begingroup$ Probably you're talking about content-based recommender system - using it you build a model which is able to calculate distance between songs using their properties, and recommend to users (new) songs which are 'close' to those they listened. $\endgroup$
    – mikalai
    Dec 12, 2018 at 20:07
  • $\begingroup$ Thank you for explaining, I already have a set of songs to guess which are close to user's taste. $\endgroup$
    – E. Dem
    Dec 13, 2018 at 8:23

3 Answers 3


If the problem you are trying to solve is "I need to guess if the new songs are fit to user's taste with the song feature data I got."

AND if you have some indication what user has liked / listened-to in past; you can use "Recommendation Engine" approach.

Example : https://tampub.uta.fi/bitstream/handle/10024/101198/GRADU-1495623946.pdf?sequence=1

It works on the basis of "likeness"; E.g.:

  1. Assumption : All Hip-Hop songs have some common pattern among the features like energy , loudness etc.
  2. If a user likes Hip-Hop (can be judged from user's history based on features of songs), then other Hip-Hop songs can be suggested

You only have information regarding the features of the data, without any labels, so by definition you are dealing with unsupervised learning.

You can probably use some clustering algorithm (mean-shift, k-means, etc.) to divide the data into groups and then use nearest neighbor to predict which is the closest new song you can suggest to the user based on his preferences, or use some user-specific threshold to determine how likely a new song fit to user's taste (1/distance of new song from user's mean is the probability and his threshold can be related to his variance).


You do not need machine learning at all.

There is nothing to learn from, according to your vague description.

What you want to do is probably similarity search. Given the users favorite songs, find similar songs. No learning there.

  • $\begingroup$ I think I didn't describe it very well. I need to create a model of the user with the old data, then the model needs to decide which songs are good for the user's taste between the new set of songs. $\endgroup$
    – E. Dem
    Dec 12, 2018 at 17:46
  • $\begingroup$ Don't call it a "model", but call it a query. It's similarity search, no learning necessary. $\endgroup$ Dec 13, 2018 at 19:41
  • $\begingroup$ Okay I will check it, thank you for mentioning, it's the first time I heared it. $\endgroup$
    – E. Dem
    Dec 14, 2018 at 12:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.