DummyClassifier确实支持多类分类。这是一个小例子:
from sklearn.datasets import make_classification
from sklearn.dummy import DummyClassifier
X, y = make_classification(n_classes=3, n_clusters_per_class=1, random_state=42)
clf = DummyClassifier(strategy='stratified')
clf.fit(X, y)
它甚至支持多类多输出分类,因为它的fit 方法接受以下形状的y:
y:类似数组的形状 (n_samples,) 或 (n_samples, n_outputs)
要了解stratified 策略,您可能需要咨询user guide:
stratified 通过尊重训练集类分布生成随机预测
因此预测将是随机的,但仍与训练集中的类分布一致,如您在此处看到的:
print(np.unique(y, return_counts=True))
# output: (array([0, 1, 2]), array([34, 33, 33]))
print(np.unique(clf.predict(X), return_counts=True))
# output: (array([0, 1, 2]), array([32, 38, 30]))