我正在使用回归树分析包含在熊猫数据框中的数据。为了进行V-fold交叉验证,我需要将数据分成V个随机的、互斥的子集
到目前为止,我在dataframe中添加了一个新的列V=10,以表示每个样本是哪个子集的成员:
def Vfold_Subsets(Data,V):
subs = Data
Data['V'] = V
N = Data.shape[0]
n = N//V
for v in range(1,V):
sample = subs.sample(n = n)
Data['V'][Data.index.isin(sample.index)] = v
subs.drop(sample.index)
return Data
这个方法很管用,但我觉得还有更好的方法吗?这种方法的缺点是如果N=108,则
^{pr2}$退货:
1 : 10
2 : 10
3 : 10
4 : 10
5 : 10
6 : 10
7 : 10
8 : 10
9 : 10
10 : 18
我想如果我能取得这样的成绩会更好
1 : 10
2 : 11
3 : 11
4 : 11
5 : 11
6 : 11
7 : 11
8 : 11
9 : 10
10 : 10
这样我就不会把剩下的样品都塞进最后一个箱子里了。在
定义您的功能
相关问题 更多 >
编程相关推荐