我正在尝试使用 BagginClassifier,但未能获得预期的功能。
基本上,BagginClassifier 应该绘制(引导)一个带有替换的新数据集。例如:以下代码应生成与原始数据集大小相同的新引导样本:
import sklearn.datasets as ds
import numpy as np
X, y = ds.load_iris().data, ds.load_iris().target
bag = BaggingClassifier(base_estimator=LogisticRegression(),
n_estimators=100,
max_samples=1.0,
bootstrap=True,
n_jobs=1)
bag.fit(X, y)
print X[bag.estimators_samples_[0]].shape
>> 95
(或任何其他接近 95 的数字)。
天真地,我希望得到与原始样本(150)相同大小的自举样本,但会有一些随机重复的行。但是,我得到的样本量较小,并且具有唯一的行。那很奇怪。
这里有什么问题?