PCG*_*PCG 35 python classification scikit-learn keras
我编写的分类器脚本运行良好,最近在配件中添加了重量平衡。由于我使用“sklearn”库添加了重量估计函数,因此出现以下错误:
compute_class_weight() takes 1 positional argument but 3 were given
Run Code Online (Sandbox Code Playgroud)
根据文档,此错误没有意义。该脚本应该有三个输入,但不确定为什么它说只需要一个变量。完整的错误和代码信息如下所示。显然,这仅在 VS 代码中失败。我在 Jupyter 笔记本上进行了测试,工作正常。所以这似乎是 VS code 编译器的问题。有人注意到吗?(我正在使用 Python 3.8 和其他最新的其他库)
from sklearn.utils import compute_class_weight
train_classes = train_generator.classes
class_weights = compute_class_weight(
"balanced",
np.unique(train_classes),
train_classes
)
class_weights = dict(zip(np.unique(train_classes), class_weights)),
class_weights
Run Code Online (Sandbox Code Playgroud)
在 Jupyter 笔记本中,
PCG*_*PCG 91
花了很多时间,我就是这样解决的。我仍然不知道为什么,但是当代码修改如下时,它工作正常。在看到这个类似但略有不同问题的解决方案后,我有了这个想法。
class_weights = compute_class_weight(
class_weight = "balanced",
classes = np.unique(train_classes),
y = train_classes
)
class_weights = dict(zip(np.unique(train_classes), class_weights))
class_weights
Run Code Online (Sandbox Code Playgroud)
小智 10
我通过重新编码配置解决了这个问题。
from sklearn.utils.class_weight import compute_class_weight
class_weights = compute_class_weight(class_weight = "balanced", classes= np.unique(train_labels), y= train_labels)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45134 次 |
| 最近记录: |