scikit-learn - adjust_rand_score 和adjusted_mutual_info_score 的输入是什么?
问题描述
我阅读了文档,我知道它是 labels_true 和 labels_pred 但它们必须是什么形式?
对于我使用的 labels_pred kmeans.labels_
,它是一个包含 0、1、2 或 3 的 numpy 数组。对于 labels_true,我使用top100.Genre
. Top100 是一个包含不同类型电影的数据框,共有 4 个类型。我在某处读到,我可以只插入这两个标签,并且这两个分数度量将找到一种将数字分配给流派的方法。
这是真的?我得到的值略高于 0(如 0.014),所以这对我来说没什么意义。或者我是否也必须将 top100.Genre 转换为 numpy 数组并将流派的名称更改为 0、1、2 和 3?我将如何分配每个号码?
解决方案
我认为分数测量会找到一种方法来匹配分配的标签和预测的标签。根据 Scikit-learn 文档,输入应该是一个数组。在这种情况下,为您提到的 0、1、2、3 等类型分配类标签。它们可以随机分配。
Scikit_learn 文档还提到分数不必是完美的 0,而是接近 0。因此 0.014 的分数是可以接受的。
下面的链接有一些很好的信息: https ://esigma6.wordpress.com/2018/11/03/2-3-9-clustering-performance-evaluation/
推荐阅读
- python - 我可以在 Pycharm for mac 和 windows 中运行相同的 Python 代码吗?
- java - 将类的子类作为类型参数传递(类型参数是子类)
- python - OpenCV中的广义霍夫变换 - 设置角度精度
- angular - 测试主机组件总是给出虚假的“不是已知元素”错误,可能是 karma-webpack 问题?
- pandas - Pandas:使用一列的值根据两列计算表中的行数
- javascript - 如何使用 vanilla Java Script 仅显示所需部分并隐藏所有其他部分?
- c# - 在 HTML 中显示数组中的数组
- r - 从 DF 中的开始日期为每个 Id 分配每月日期记录
- html - HTML 图像不会链接到页面
- mongodb - 如何使用 docker-compose 使用 mongo 容器设置身份验证和副本集?