使用model_evaluation_utils混淆矩阵时报错 TypeError: __new__() got an unexpected keyword argument ‘labels‘

在进行文本分析的时候,用到了model_evaluation_utils混淆矩阵,但是他一直在报错TypeError: new() got an unexpected keyword argument ‘labels’

代码

import model_evaluation_utils as meu
y_pred = logistic.predict(X_test)
meu.display_confusion_matrix(true_labels=y_test, predicted_labels=y_pred, classes=[0, 1])

报错

在这里插入图片描述

尝试:

https://cloud.tencent.com/developer/ask/sof/798388
在网上一通找之后发现这个网友和我的报错一样,按照他的操作步骤,在model_evaluation_utils.py 的文件里面注释了display_confusion_matrix语句,但是还是报错,发现虽然报同样的错,大家可能情况不一样。

解决方法

问题定位在model_evaluation_utils.py,于是打开这个文件,把每个函数都代入数据运行,定位到错误在pd.MultiIndex

pd.MultiIndex(levels=[['Predicted:'], classes]
                                                  ,labels=level_labels
                                                  ),

原因是语法错误,没有labels这个标签,改成codes,里面有用到的都修改,然后就可以调用model_evaluation_utils混淆矩阵了。

pd.MultiIndex(levels=[['Predicted:'], classes]
                                            ,codes=level_labels
                                            )

给和我有同样bug的人作为一个参考!

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Ray 1.3.0 版本及之后的版本中,`ray.timeline()` 函数的参数已经发生了变化,不再支持 `file_path` 参数。如果您的 Ray 版本是 1.3.0 或更高版本,您可以使用 `ray.tune.utils.validate_save_restore` 函数来记录间线数据。该函数可以保存间线数据到指定的文件中,并在需要的候读取该文件并返回间线数据。 下面是一个示例代码片段,演示如何使用 `ray.tune.utils.validate_save_restore` 函数来记录间线数据,并将 CPU 占用率绘制成曲线图: ```python import ray import time import pandas as pd import matplotlib.pyplot as plt from ray.tune.utils import validate_save_restore ray.init() # 定义一个任务函数 @ray.remote def my_task(): for i in range(10): # 这里是任务代码 time.sleep(1) return "done" # 创建一组任务 tasks = [my_task.remote() for i in range(10)] # 等待所有任务完成 ray.wait(tasks) # 导出间线数据 timeline = validate_save_restore() # 将间线数据转换为数据帧对象 df = pd.DataFrame(timeline) # 绘制 CPU 占用率曲线图 plt.plot(df["timestamp"], df["cpu_utilization"]) plt.xlabel("Time (seconds)") plt.ylabel("CPU utilization (%)") plt.show() ``` 在上述代码中,我们使用 `ray.tune.utils.validate_save_restore()` 函数来记录间线数据,并将其保存到变量 `timeline` 中。然后,我们将 `timeline` 转换为一个数据帧对象 `df`,并使用 `matplotlib` 库来绘制 CPU 占用率曲线图,并将其输出到屏幕上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值