这可能是一个愚蠢的问题,但我只是想知道在 scikit.ml 中实现的ML-KNN和scikit-learn的KNeighborsClassifier有什么区别。根据sklearn的文档,KNeighborsClassifier支持多标签分类。然而,ML-KNN适用于基于其文档的sklearn架构之上的多标签分类。
在搜索示例多标签问题时,MLkNN 主要出现,但我不明白如果它已经支持它,那么使用它是否比 sklearn 的基本实现有任何优势。这只是 sklearn 方面的后期改编,还是在实现上存在更多差异?
任何意见都值得赞赏。谢谢!
scikit-multilearn的ML-KNN实现是scikit-learn的KNeighborsClassifier的改进版本。它实际上是建立在它之上的。在找到训练数据中的 k 个最近邻后,它使用最大后验原则来标记新实例以实现更好的性能。此外,由于它使用 SciPy 稀疏矩阵库在内部对稀疏矩阵进行操作,因此它具有很高的内存效率。更多信息 这里 和 这里.