【发布时间】:2021-12-05 18:12:38
【问题描述】:
我正在尝试通过阅读一篇博客来了解 Python 中的推荐系统,该博客包含在 GitHub 中创建存储库推荐系统的一个很好的示例。
使用 read_csv() 加载数据集后,编写代码的人决定将该数据转换为 pivot_table pandas,以便以更简单的方式可视化数据。在这里,为了简单起见,我给你留下了那部分代码的图像:
在该表中,行是用户,列是存储库。行和列之间的横截面是用户给特定存储库的标点符号。
由于该表的许多元素都是空的(我们可以说我们有一个稀疏矩阵,这在机器学习中非常典型),他决定通过以下方式研究矩阵的稀疏程度这段代码:
ratings = df_matrix.values
sparsity = float(len(ratings.nonzero()[0]))
sparsity /= (ratings.shape[0] * ratings.shape[1])
sparsity *= 100
print('Sparsity: {:4.2f}%'.format(sparsity))
谁能帮我知道第二行代码是什么意思? 我想我理解 ratings.nonzero() 返回一个列表,其中包含所有不同于零的元素的索引,并且由于我对总数而不是索引感兴趣,因此有必要使用 len(ratings.nonzero( )),但我的问题是我不可能知道代码中的 [0] 是什么意思。
非常感谢您,给您带来的不便深表歉意!
【问题讨论】:
标签: python pandas sparse-matrix