我有一个具有低于类比率的多类数据集
Class A: 61%
Class B: 34%
Class C: 3%
我使用的是一个catboost模型,它以class_weight作为参数。在这种情况下,计算类权重的正确方法是什么。
尝试以下
from sklearn.utils import class_weight
import pandas as pd
import numpy as np
ds=pd.read_csv(datafile)
y=ds.['Class'].tolist() # y now has all the instances class labels
yu=np.unique(y) # yu now has the class labels A, B, C
class_weight=class_weight.compute_class_weight('balanced',yu,y)
现在您可以使用class_weight作为catboost 的class_weight参数