-
Notifications
You must be signed in to change notification settings - Fork 141
/
test_train_test_split.py
77 lines (71 loc) · 1.82 KB
/
test_train_test_split.py
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
"""
Unit tests on train-test split
"""
import pandas as pd
from adtk.data import split_train_test
def test_run_one_case_one_model():
"""
test all modes on a naive list of from 0 to 99
"""
s = pd.Series(range(100))
ts_train, ts_test = split_train_test(
s, mode=1, n_splits=4, train_ratio=0.8
)
assert all(
x.equals(y)
for x, y in zip(
ts_train,
[s.iloc[:20], s.iloc[25:45], s.iloc[50:70], s.iloc[75:95]],
)
)
assert all(
x.equals(y)
for x, y in zip(
ts_test, [s.iloc[20:25], s.iloc[45:50], s.iloc[70:75], s.iloc[95:]]
)
)
ts_train, ts_test = split_train_test(
s, mode=2, n_splits=4, train_ratio=0.8
)
assert all(
x.equals(y)
for x, y in zip(
ts_train, [s.iloc[:20], s.iloc[:40], s.iloc[:60], s.iloc[:80]]
)
)
assert all(
x.equals(y)
for x, y in zip(
ts_test, [s.iloc[20:25], s.iloc[40:50], s.iloc[60:75], s.iloc[80:]]
)
)
ts_train, ts_test = split_train_test(
s, mode=3, n_splits=4, train_ratio=0.8
)
assert all(
x.equals(y)
for x, y in zip(
ts_train, [s.iloc[:20], s.iloc[:40], s.iloc[:60], s.iloc[:80]]
)
)
assert all(
x.equals(y)
for x, y in zip(
ts_test, [s.iloc[20:40], s.iloc[40:60], s.iloc[60:80], s.iloc[80:]]
)
)
ts_train, ts_test = split_train_test(
s, mode=4, n_splits=4, train_ratio=0.8
)
assert all(
x.equals(y)
for x, y in zip(
ts_train, [s.iloc[:20], s.iloc[:40], s.iloc[:60], s.iloc[:80]]
)
)
assert all(
x.equals(y)
for x, y in zip(
ts_test, [s.iloc[20:], s.iloc[40:], s.iloc[60:], s.iloc[80:]]
)
)