SKISTYLE_flask-caching

2022-11-04 16:17:44 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

关于sklearn.model_selected中的KFold.split的理解

作用:返回样本切分之后数据集的indices,即索引

返回:

train: ndarray。如果KFold设置shuffle参数是True,是混乱的。

test: ndarray。如果KFold设置shuffle参数是True/False,是按照顺序连续!!

示例

ab_range = np.array(range(0,100))*100

ab_rangey = np.array(range(0,100))/100.0

print(len(ab_range),len(ab_rangey))

array([ 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,

1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100,

2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200,

3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300,

4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400,

5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500,

6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600,

7700, 7800, 7900, 8000, 8100, 8200, 8300, 8400, 8500, 8600, 8700,

8800, 8900, 9000, 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800,

9900])

array([ 0. , 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08,

0.09, 0.1 , 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17,

0.18, 0.19, 0.2 , 0.21, 0.22, 0.23, 0.24, 0.25, 0.26,

0.27, 0.28, 0.29, 0.3 , 0.31, 0.32, 0.33, 0.34, 0.35,

0.36, 0.37, 0.38, 0.39, 0.4 , 0.41, 0.42, 0.43, 0.44,

0.45, 0.46, 0.47, 0.48, 0.49, 0.5 , 0.51, 0.52, 0.53,

0.54, 0.55, 0.56, 0.57, 0.58, 0.59, 0.6 , 0.61, 0.62,

0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69, 0.7 , 0.71,

0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.8 ,

0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89,

0.9 , 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99])

100 100

kf = KFold(5, random_state=123)

# 一、仅仅打印test(即代码中model)的indices

for i, model in kf.split(ab_range, ab_rangey):

print(‘*’ * 10);

# print(i, len(i));

print(model, len(model));

print(‘*’ * 10)

**********

[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19] 20

**********

**********

[20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39] 20

**********

**********

[40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59] 20

**********

**********

[60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79] 20

**********

**********

[80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99] 20

**********

结果中test在5折切分中是从0-99按照顺序切分。

# 二、仅仅输出train数据集的indices

for i, model in kf.split(ab_range, ab_rangey):

print(‘*’ * 10);

print(i, len(i));

# print(model, len(model));

print(‘*’ * 10)

**********

[20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94

95 96 97 98 99] 80

**********

**********

[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 40 41 42 43 44

45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94

95 96 97 98 99] 80

**********

**********

[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 60 61 62 63 64 65 66 67 68 69

70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94

95 96 97 98 99] 80

**********

**********

[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

50 51 52 53 54 55 56 57 58 59 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94

95 96 97 98 99] 80

**********

**********

[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74

75 76 77 78 79] 80

**********

结果中train在5折切分中是从0-99中随机选出80个,对应顺序即是混乱的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

0 人点赞