【发布时间】:2019-04-09 22:47:23
【问题描述】:
我是数据科学的新手,目前正在学习可以用 Python 完成的不同技术。目前,我正在尝试使用 Spotify 的 API 来制作我自己的播放列表。
目标是找到两个不同播放列表之间最不同的特征。
我的问题是识别这两个播放列表之间最不同的功能的最佳方法是什么?
我首先获取每个播放列表中的所有曲目及其各自的功能。然后我计算了每个特征的平均值。
这是我最终得到的 DataFrame。数据值是所有曲目特征到其各自播放列表的平均值
playlist1 playlist2
--------------------
danceability | 0.667509 0.592140
energy | 0.598873 0.468020
acousticness | 0.114511 0.398372
valence | 0.376920 0.287250
instrumentalness | 0.005238 0.227783
speechiness | 0.243587 0.088612
我做了一些挖掘,发现了两个常见的程序:
1.欧几里得距离
2。余弦相似度
由于某种原因,我无法确定要使用哪个功能,并着手计算每个功能之间的绝对差异。简单的减法,因为这对我来说很直观。差异最大的特征将是“最不相似的”。
通过这种方法,我最终使用了这些结果并得出结论,能量和声学是最不同的
playlist1 playlist2 absoluteDifference
----------------------------------------------------
energy |0.871310 0.468020 0.403290
acousticness |0.041479 0.398372 0.356893
valence |0.501890 0.287250 0.214640
instrumentalness |0.049012 0.227783 0.178771
danceability |0.531071 0.592140 0.061069
speechiness |0.109587 0.088612 0.020975
我的直觉是正确还是不正确?我们什么时候会使用上述技术?这些技术中的任何一种都适用于这种情况吗?
最终,我想将前两个不同点作为 KNN 的轴。我的直觉是,我可以识别两个播放列表中最不同的特征,我将拥有一个更清晰、更明确的播放列表特征,并且可以更准确地预测一个播放列表应该属于哪一首歌。
【问题讨论】:
-
Imo 这是一种计算两个(或更多?)点之间距离的问题重新方法,因此更适合数据科学论坛:datascience.stackexchange.com。
标签: pandas data-science similarity euclidean-distance cosine-similarity