是的,意思是一样的。使用该class_weight='balanced
参数,您无需传递确切的数字,您可以自动平衡它。
您可以在此链接中看到更广泛的解释:
https://scikit-learn.org/dev/glossary.html#term-class-weight
确认下一个属性的相似性:
- class_weight = '平衡'
- class_weight = {0:0.5, 1:0.5}
- class_weight = 无
我已经生成了这个实验:
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
X, y = load_iris(return_X_y=True)
clf_balanced = LogisticRegression(class_weight='balanced', random_state=0).fit(X, y)
clf_custom = LogisticRegression(class_weight={0:0.5,1:0.5}, random_state=0).fit(X, y)
clf_none = LogisticRegression(class_weight=None, random_state=0).fit(X, y)
print('Balanced:',clf_balanced.score(X, y))
print('Custom:',clf_custom.score(X, y))
print('None:',clf_none.score(X, y))
输出是:
Balanced: 0.9733333333333334
Custom: 0.9733333333333334
None: 0.9733333333333334
因此,我们可以凭经验得出结论,它们是相同的。