gpt4 book ai didi

python - sklearn 分类的 class_weight 字典格式

转载 作者:太空宇宙 更新时间:2023-11-03 20:52:35 25 4
gpt4 key购买 nike

尝试对大约 2500*~4000 个大型特征进行分类,并在训练数据中附上置信文档。

我尝试使用置信度值作为分类器的 class_weight 参数,但无法理解 class_weight 所需的字典格式。我一直在寻找由于使用格式为 {0:1, 1:0.66, 2:0.66, 3:1 ...} 的字典而导致错误的解决方案,但最近了解到该参数需要以下形式 [{ 0: 1, 1: 1}, {0: 1, 1: 5}, {0: 1, 1: 1}, {0: 1, 1: 1}] [https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier]

我想我不明白 [{a:b , c:d}...] 的格式我相信 d 是重量,但不确定结构的其余部分或如何从我的 csv 文件到达那里。

到目前为止我所拥有的:


>>> with open('confidence.csv') as csvfile:
>>> reader = csv.DictReader(csvfile, delimiter=",")
>>> confidence_dict={int(row['ID'])-1:int(float(row['confidence'])) for row in reader} #float(row['confidence'])

>>> print(confidence_dict)
{0: 0.66, 1: 1, 2: 0.66, 3: 0.66, 4: 1, ...}

>>> print(X)
v0 v1 v2 v3 ...
0 1.413 0.874 0.506 1.790
1 0.253 0.253 0.486 1.864
2 1.863 0.174 0.018 1.789
3 0.253 0.213 0.486 1.834
...

>>> print(y)
0 0
1 0
2 1
3 1
...

>>> linearSVC = LinearSVC(random_state=0, tol=1e-6, class_weight=confidence_dict)
>>> linearSVC.fit(X, y)

类标签 {} 不存在。 在尝试使用当前字典形式中的类权重时返回。如果没有输入类(class)权重,则不会发生这种情况。

ValueError: Class label 2 not present.

网上关于这个主题的信息有限,所以我想我应该尝试发表一个清晰的帖子,希望能够掌握如何实现这一点。

最佳答案

经过吉米在评论中的进一步研究和指导,我发现我错误地认为输入需要采用以下形式

dict({x1, x2, x3,...xn})

其中 x 是该预测的置信度。class_weight 需要是表单中的字典

dict({0:y0, 1:z0}, {0:y1, 1:z2}, {0:y1, 1:z1},...)

其中 y 是结果 0 的置信度/权重,z 是结果 1 的置信度/权重。

这就是发生 ValueError: Class label 2 not present. 的原因。它正在寻找下一个字典

关于python - sklearn 分类的 class_weight 字典格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56213811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com