- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我收到了这个奇怪的错误:
classification.py:1113: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
'precision', 'predicted', average, warn_for)`
但它也会在我第一次运行时打印 f 分数:
metrics.f1_score(y_test, y_pred, average='weighted')
我第二次运行时,它提供的分数没有错误。这是为什么呢?
>>> y_pred = test.predict(X_test)
>>> y_test
array([ 1, 10, 35, 9, 7, 29, 26, 3, 8, 23, 39, 11, 20, 2, 5, 23, 28,
30, 32, 18, 5, 34, 4, 25, 12, 24, 13, 21, 38, 19, 33, 33, 16, 20,
18, 27, 39, 20, 37, 17, 31, 29, 36, 7, 6, 24, 37, 22, 30, 0, 22,
11, 35, 30, 31, 14, 32, 21, 34, 38, 5, 11, 10, 6, 1, 14, 12, 36,
25, 8, 30, 3, 12, 7, 4, 10, 15, 12, 34, 25, 26, 29, 14, 37, 23,
12, 19, 19, 3, 2, 31, 30, 11, 2, 24, 19, 27, 22, 13, 6, 18, 20,
6, 34, 33, 2, 37, 17, 30, 24, 2, 36, 9, 36, 19, 33, 35, 0, 4,
1])
>>> y_pred
array([ 1, 10, 35, 7, 7, 29, 26, 3, 8, 23, 39, 11, 20, 4, 5, 23, 28,
30, 32, 18, 5, 39, 4, 25, 0, 24, 13, 21, 38, 19, 33, 33, 16, 20,
18, 27, 39, 20, 37, 17, 31, 29, 36, 7, 6, 24, 37, 22, 30, 0, 22,
11, 35, 30, 31, 14, 32, 21, 34, 38, 5, 11, 10, 6, 1, 14, 30, 36,
25, 8, 30, 3, 12, 7, 4, 10, 15, 12, 4, 22, 26, 29, 14, 37, 23,
12, 19, 19, 3, 25, 31, 30, 11, 25, 24, 19, 27, 22, 13, 6, 18, 20,
6, 39, 33, 9, 37, 17, 30, 24, 9, 36, 39, 36, 19, 33, 35, 0, 4,
1])
>>> metrics.f1_score(y_test, y_pred, average='weighted')
C:\Users\Michael\Miniconda3\envs\snowflakes\lib\site-packages\sklearn\metrics\classification.py:1113: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
'precision', 'predicted', average, warn_for)
0.87282051282051276
>>> metrics.f1_score(y_test, y_pred, average='weighted')
0.87282051282051276
>>> metrics.f1_score(y_test, y_pred, average='weighted')
0.87282051282051276
另外,为什么会有尾随 'precision', 'predicted', average, warn_for)
错误信息?没有左括号,为什么它以右括号结尾?我在 Windows 10 的 conda 环境中使用 Python 3.6.0 运行 sklearn 0.18.1。
最佳答案
正如评论中提到的,y_test
中的一些标签不会出现在 y_pred
中。特别是在这种情况下,永远不会预测标签“2”:
>>> set(y_test) - set(y_pred)
{2}
这意味着没有要计算此标签的 F-score,因此这种情况下的 F-score 被认为是 0.0。由于您要求平均分,因此您必须考虑到计算中包含 0 分,这就是 scikit-learn 向您显示该警告的原因。
这让我看到你没有第二次看到错误。正如我所提到的,这是一个警告,它的处理方式与 python 中的错误不同。大多数环境中的默认行为是仅显示一次特定警告。可以更改此行为:
import warnings
warnings.filterwarnings('always') # "error", "ignore", "always", "default", "module" or "once"
如果您在导入其他模块之前设置此项,则每次运行代码时都会看到警告。
除了设置 warnings.filterwarnings('ignore')
之外,没有办法避免第一次看到此警告。您可以做的,是确定您对未预测的标签分数不感兴趣,然后明确指定您感兴趣的标签(即标签预测至少一次):
>>> metrics.f1_score(y_test, y_pred, average='weighted', labels=np.unique(y_pred))
0.91076923076923078
警告将消失。
关于python - UndefinedMetricWarning : F-score is ill-defined and being set to 0. 0 在没有预测样本的标签中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43162506/
虽然 find(["a", "b"], "c") 没有问题,但在尝试查找结构数组中的结构索引时出现错误: struct Score { //... } var scores: [Score]
也许我在 http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials 中遗漏了一些东西 似乎要渲染部分,我们可以使用
我正在发布 Android Facebook 游戏的分数,我返回“真实”,但我在任何地方都看不到这个故事。我错过了什么? 最佳答案 Facebook 似乎有一些逻辑,有时只发布基于分数的故事。 您可以
我有包含一些数据和特定省略列表的文档(参见 mapping 和 example data ): 我想编写一个执行以下操作的 ES 查询: 计算文档的一些“基本”分数(查询 1): { "expla
我是 iOS 开发的新手,我已经成功地集成了 facebook 登录等...但是我的问题是 Score api。我可以阅读乐谱,但我似乎无法发布它,我拥有 publish_actions 权限,并且正
如果我有 2 个标签(1 和 0),并且在我通过 softmax 激活层传递我的 logits 之后,我得到如下内容: [[0.1, 0.9], [0.3, 0.7], [0.333, 0.667]]
我正在使用 k 折交叉验证来计算加法平滑参数 alpha 的最佳值。另外,我想根据 alpha 值绘制训练准确度和验证准确度的曲线。我为此编写了代码: alphas = list(np.arange(
我使用的示例摘自《Mastering Machine Learning with scikit learn》一书。 它使用决策树来预测网页上的每个图像是否是一个广告或文章内容。然后可以使用级联样式表隐
我使用 scipy.cluster.hierarchy.linkage 作为聚类算法并将结果链接矩阵传递给 scipy.cluster.hierarchy.fcluster ,以获得扁平化的集群,用于
我有以下代码,我想用它来检查用户答案并输出分数(满分 5 分)。我使用包含答案的 plist 并检查 textField.text 。我正在努力解决的是:如何使用这种方法获得总输出分数? - (IBA
我知道还有很多其他类似的问题与该领域有关,但没有一个答案有效。就我而言,我有以下代码,我试图按分数降序对记录数组进行排序。 function score(string, pattern){ str
我希望能够保留玩家在玩我的游戏时获得的分数,以及当他们关闭游戏并重新打开游戏时分数仍然保存。我能想到的唯一方法是使用文本文件来完成此操作,就像我在 VB6 中所做的那样。但是,这意味着他们可以编辑文本
现在我已经完成了我的游戏制作,我需要添加的是应用内购买和排行榜,并且为了不搞砸我正在使用测试应用做的任何事情。我的排行榜现在正在显示,即使我在测试时(在真实设备和模拟器上)登录到游戏中心,查看排行榜时
您可以使用 1 行代码轻松提取轮廓分数,该代码对所有集群的分数进行平均,但是如何从轮廓分数的 scikit learn 实现中提取每个中间分数?我希望能够为每个集群单独提取相同的分数,而不仅仅是获得总
我正在用 JavaScript 和 HTML 制作一个在线游戏(一个非常简单的游戏,这是我的第一个游戏)。它工作正常,但有一个大问题。我希望每当单击特定图像时,都会将 10 添加到变量分数的值中。这是
我的 votes 表如下所示: id: integer vote: boolean voteable_id: integer voteable_type: string voter_id: integ
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this q
无法读取未定义的属性“分数”这是一个使用极小极大算法的井字游戏。这是我整个应用程序的笔。 https://codepen.io/MartinaMF/pen/LjNdNN $(document)
我有一个引用字典“dictA”,我需要将它(计算键和 vules 之间的相似度)与当场生成的 n 个字典进行比较。每个字典的长度相同。假设为了便于讨论,要与之比较的词典数量为 3:dictB、dict
1、计算F1-Score 对于二分类来说,假设batch size 大小为64的话,那么模型一个batch的输出应该是torch.size([64,2]),所以首先做的是得到这个二维矩阵的每一行的
我是一名优秀的程序员,十分优秀!