如何解决随机森林的手动 k 折交叉验证
我正在使用随机森林分类器并且我想执行 k 折交叉验证。 我的数据集已经分成 10 个不同的子集,所以我想用它们来做 k 折交叉验证,而不使用随机拆分数据集的自动函数。 在 Python 中可以吗?
随机森林没有 partial_fit() 方法,所以我无法进行增量拟合。
解决方法
尝试 kf = StratifiedKFold(n_splits=3,shuffle=True,random_state=123) 来平均分割您的数据
尝试 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 折,但这是另一种方式:
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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。