Sklearn Kfold, RepeatedKFold,ShuffleSplit

sklearn库中 Kfold, RepeatedKFold,ShuffleSplit三者对比

KFold

X = np.arange(5)
ss = KFold(n_splits=4, shuffle=True)
for train_index, test_index in ss.split(X):
    print("@@%s  %s" % (train_index, test_index))

 shuffle=True每次会随机划分

# 第一次
[0 2 3]  [1 4]
[1 2 3 4]  [0]
[0 1 2 4]  [3]
[0 1 3 4]  [2]

#第二次
[1 3 4]  [0 2]
[0 1 2 4]  [3]
[0 1 2 3]  [4]
[0 2 3 4]  [1]
# 指定random_state=1234

# 第一次
[2 3]  [0 1 4]
[0 1 4]  [2 3]

# 第二次
[2 3]  [0 1 4]
[0 1 4]  [2 3]

shuffle=False按顺序划分

[2 3 4]  [0 1]
[0 1 3 4]  [2]
[0 1 2 4]  [3]
[0 1 2 3]  [4]

RepeatedKFold

ss = RepeatedKFold(n_splits=4, n_repeats=2)
for train_index, test_index in ss.split(X):
    print("%s  %s" % (train_index, test_index))

重复 K-折交叉验证

# 第一次
[1 2 3]  [0 4]
[0 1 2 4]  [3]
[0 2 3 4]  [1]
[0 1 3 4]  [2]
[0 1 4]  [2 3]
[0 2 3 4]  [1]
[1 2 3 4]  [0]
[0 1 2 3]  [4]

#第二次
[1 2 3]  [0 4]
[0 1 3 4]  [2]
[0 1 2 4]  [3]
[0 2 3 4]  [1]
[1 2 4]  [0 3]
[0 2 3 4]  [1]
[0 1 3 4]  [2]
[0 1 2 3]  [4]
# 指定random_state=123
# 第一次
[0 2 4]  [1 3]
[0 1 2 3]  [4]
[1 2 3 4]  [0]
[0 1 3 4]  [2]
[1 2 3]  [0 4]
[0 1 3 4]  [2]
[0 1 2 4]  [3]
[0 2 3 4]  [1]


# 第二次
[0 2 4]  [1 3]
[0 1 2 3]  [4]
[1 2 3 4]  [0]
[0 1 3 4]  [2]
[1 2 3]  [0 4]
[0 1 3 4]  [2]
[0 1 2 4]  [3]
[0 2 3 4]  [1]


ShuffleSplit

X = np.arange(5)
ss = ShuffleSplit(n_splits=2)
for train_index, test_index in ss.split(X):
    print("%s  %s" % (train_index, test_index))

随机排列交叉验证

#第一次
[4 3 2 0]  [1]
[3 0 2 4]  [1]

#第二次
[4 1 0 3]  [2]
[0 1 4 2]  [3]
# 指定random_state=6
#第一次
[4 0 1 2]  [3]
[1 4 0 2]  [3]
#第二次
[4 0 1 2]  [3]
[1 4 0 2]  [3]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值