gpt4 book ai didi

python - 顺序拟合随机森林sklearn

转载 作者:太空狗 更新时间:2023-10-30 01:12:40 29 4
gpt4 key购买 nike

我正在使用 sklearn 在图像数据集上使用 python 训练随机森林分类器。因为我正在执行图像分割,所以我必须存储每个像素的数据,这最终会成为一个巨大的矩阵,例如 100,000,000 长的数据点矩阵,因此在该矩阵上运行 RF 分类器时,我的计算机会出现内存溢出错误,并且需要永远运行。

我的一个想法是在连续的小批量数据集上训练分类器,因此最终训练整个数据集,但每次都会提高分类器的拟合度。这是一个可行的想法吗?拟合是否会在每次运行时覆盖最后一次拟合?

最佳答案

您可以使用warm_start 来预先计算树:

# First build 100 trees on X1, y1
clf = RandomForestClassifier(n_estimators=100, warm_start=True)
clf.fit(X1, y1)

# Build 100 additional trees on X2, y2
clf.set_params(n_estimators=200)
clf.fit(X2, y2)

或者

def generate_rf(X_train, y_train, X_test, y_test):
rf = RandomForestClassifier(n_estimators=5, min_samples_leaf=3)
rf.fit(X_train, y_train)
print "rf score ", rf.score(X_test, y_test)
return rf

def combine_rfs(rf_a, rf_b):
rf_a.estimators_ += rf_b.estimators_
rf_a.n_estimators = len(rf_a.estimators_)
return rf_a

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.33)
# Create 'n' random forests classifiers
rf_clf = [generate_rf(X_train, y_train, X_test, y_test) for i in range(n)]
# combine classifiers
rf_clf_combined = reduce(combine_rfs, rfs)

关于python - 顺序拟合随机森林sklearn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41122200/

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