我想使用SKLearn从具有约2500万行和约15列的数据帧中训练多类(约750个类)的随机森林分类器。我正在使用的计算机具有140 gb的RAM,但仍然用完内存。我正在尝试使用warm_start来分批训练模型,但我担心并非所有类都将在每个批处理中表示。最佳解决方案是什么和/或有不同的方法?
start = time()
for chunk in pd.read_csv('train.csv',chunksize = 100000):
X_chunk = chunk[features]
y_chunk = chunk[target]
model.fit(X_chunk,y_chunk)
train_acc =metrics.accuracy_score(y_chunk,model.predict(X_chunk))
print("train accuracy {train_acc}")
model.n_estimators+=n_estimators
del X_chunk, y_chunk,chunk
gc.collect()
tools.timeit(time()-start)
我已经预处理了火车/火车,并将其发送到csv。