Python 随机森林的K-折叠交叉验证
我目前正在尝试使用RandomForest来预测一些东西,同时也使用k-fold交叉验证来最小化我对min_samples_leaf的交叉验证错误。我目前在设置代码时遇到问题,因为我在进入Python 随机森林的K-折叠交叉验证,python,machine-learning,scikit-learn,random-forest,cross-validation,Python,Machine Learning,Scikit Learn,Random Forest,Cross Validation,我目前正在尝试使用RandomForest来预测一些东西,同时也使用k-fold交叉验证来最小化我对min_samples_leaf的交叉验证错误。我目前在设置代码时遇到问题,因为我在进入train\u x=x[train\u index]时一直遇到错误。我得到的错误显示在下面 从sklearn导入模型选择 kf=模型选择.KFold(n\u拆分=5) x=列车 y=试验 对于范围(0,10)内的m:#改变最小样本数# dtr=集合。随机森林回归器(n_估计值=15,最小样本数=m,最大特征数=
train\u x=x[train\u index]
时一直遇到错误。我得到的错误显示在下面
从sklearn导入模型选择
kf=模型选择.KFold(n\u拆分=5)
x=列车
y=试验
对于范围(0,10)内的m:#改变最小样本数#
dtr=集合。随机森林回归器(n_估计值=15,最小样本数=m,最大特征数=10,标准值='mse')
对于列车索引,测试kf中的列车索引。拆分(x):
打印(“列车:,列车索引,测试:,测试索引)
列车x=x[列车索引]
列车y=y[测试索引]
再生=dtr.配合(第x列、第y列)
关键错误:
None of [Int64Index([15546, 15547, 15548, 15549, 15550, 15551, 15552, 15553, 15554,\n 15555,\n ...\n 77718, 77719, 77720, 77721, 77722, 77723, 77724, 77725, 77726,\n 77727],\n dtype='int64', length=62182)] are in the [columns]
你有一大堆从kf.split()中提取的值,你要调用的train_索引x[train_index]不仅仅在数组x中 代码似乎是对的,所以我怀疑“train”(当然还有“x”)中的数据格式有问题 错误表示您的INT64索引类型(索引IIRC的熊猫类型)的值大于x的值(最大长度62182),因此您的原始数据中肯定有问题