File: t_Splitter_std.py

package info (click to toggle)
openturns 1.24-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 66,204 kB
  • sloc: cpp: 256,662; python: 63,381; ansic: 4,414; javascript: 406; sh: 180; xml: 164; yacc: 123; makefile: 98; lex: 55
file content (38 lines) | stat: -rwxr-xr-x 1,152 bytes parent folder | download | duplicates (3)
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
#!/usr/bin/env python

import openturns as ot

N = 10

splitters = [ot.LeaveOneOutSplitter(N)]
splitter = ot.KFoldSplitter(N, 5)
splitters.append(splitter)
splitter = ot.KFoldSplitter(N, 5)
splitter.setRandomize(True)
splitters.append(splitter)

for splitter in splitters:
    print("splitter=", splitter)
    size = 0
    for indices1, indices2 in splitter:
        print("indices=", indices1, indices2)

        assert len(indices1) + len(indices2) == N, "not enough indices"

        assert indices1.check(N), "dup or too large indices1"
        assert indices2.check(N), "dup or too large indices2"

        for i1 in indices1:
            assert i1 not in indices2, "indices1 in indices2"
        for i2 in indices2:
            assert i2 not in indices1, "indices2 in indices1"
        size += 1
    assert size == splitter.getSize(), "wrong size"

# try selection
indices = [8, 0]
sample = ot.Normal().getSample(N)
sample_i = sample[indices]
print("sample=", sample, "indices=", indices, "sample_i=", sample_i)
assert len(sample_i) == len(indices), "wrong selection len"
assert sample_i[0] == sample[indices[0]], "wrong first item in selection"