例如,考虑虹膜数据集并假设我的目标是预测萼片长度。
import pandas as pd
import numpy as np
from sklearn import datasets
iris = datasets.load_iris()
train = pd.DataFrame(iris.data, columns=iris.feature_names)
train['Species'] = iris.target
train
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) Species
0 5.1 3.5 1.4 0.2 0
1 4.9 3.0 1.4 0.2 0
.. ... ... ... ... ...
148 6.2 3.4 5.4 2.3 2
149 5.9 3.0 5.1 1.8 2
我想将数据分成5倍(train1,test1),(train2,test2),......现在考虑折叠(train1,test1)。使用train1,我想测量每个物种的平均萼片宽度,花瓣长度和花瓣宽度,然后将这些平均值映射到test1(基于物种)。然后我想为剩下的折叠做这个。
最终,我希望以允许我使用GridSearchCV
使用相同折叠训练RandomForestRegressor
的方式执行此操作。有没有方便的方法用scikit-learn做到这一点?
我意识到这个例子看起来很愚蠢,但我认为这对我的真实数据集很有意义。