我正在使用随机森林分类器,我想执行k-fold交叉验证。我的数据集已经分成了10个不同的子集,所以我想用它们来做k-fold交叉验证,而不使用随机分割数据集的自动函数。在Python中可能吗?
Random Forest没有partial_fit()方法,所以我不能做增量拟合。
尝试kf = StratifiedKFold(n_splits=3, shuffle=True, random_state=123)来平均分割你的数据
try kf=TimeSeriesSpit(n_splits=5)按时间戳进行分割尝试kf = KFold(n_splits=5, random_state=123, shuffle=True)在分割之前对训练数据进行洗牌。
for train_index, test_index in kf.split(bryant_shots):
cv_train, cv_test = df.iloc[train_index], df.iloc[test_index]
#fit the classifier
您还可以通过分组或类别进行策略,并使用kfold获得这些分组的平均值。它对于理解你的数据是超级强大的。
最好将所有子集连接起来,然后对它们进行k-fold分割,但这里有另一种方法:
for in range(10):
model = what_model_you_want
model.fit(dataset.drop(i_th_subset))
prediction = model.predict(i_th_subset)
test_result = compute_accuracy(i_th_subset.target, prediction)