source: orange/docs/reference/rst/code/generate_multitarget.py @ 9927:d6ca7b346864

Revision 9927:d6ca7b346864, 1.1 KB checked in by markotoplak, 2 years ago (diff)

data.variable -> feature.

Line 
1import random
2import Orange
3
4def generate_data_set(n, sigma=0.1, seed=42):
5    """
6    Generate a toy multi-target data set.
7
8    :param n: Number of instances
9    :type n: :obj:`int`
10    :param noise: The standard deviation for gaussian noise: N(0, sigma).
11    :type noise: :obj:`float`
12    :param seed: Seed for the random number generator.
13
14    """
15    vars = [Orange.feature.Continuous('X%i' % i) for i in range(1, 4)]
16    cvars = [Orange.feature.Continuous('Y%i' % i) for i in range(1, 5)]
17    domain = Orange.data.Domain(vars, False, class_vars=cvars)
18    data = Orange.data.Table(domain)
19    err = lambda: random.gauss(0, sigma)
20    random.seed(seed)
21    for i in range(n):
22        f1, f2 = random.random(), random.random()
23        x1 = f1 + err()
24        x2 = f2 + err()
25        x3 = f1 + f2 + err()
26        y1 = f1 + err()
27        y2 = 2 * f1 - 3 * f2 + err()
28        y3 = 2 * y2 - f1 + err()
29        y4 = random.random()
30        instance = Orange.data.Instance(domain, [x1, x2, x3])
31        instance.set_classes([y1, y2, y3, y4])
32        data.append(instance)
33    return data
34
Note: See TracBrowser for help on using the repository browser.