15 lines
550 B
Python
15 lines
550 B
Python
import config
|
|
import numpy as np
|
|
|
|
|
|
def generate_dataset():
|
|
np.random.seed(0)
|
|
size = 750
|
|
x = np.random.uniform(0, 1, (size, config.FEATURES_AMOUNT))
|
|
# Задаем функцию-выход: регрессионную проблему Фридмана
|
|
y = (10 * np.sin(np.pi * x[:, 0] * x[:, 1]) + 20 * (x[:, 2] - .5)**2 +
|
|
10*x[:, 3] + 5*x[:, 4]**5 + np.random.normal(0, 1))
|
|
# Добавляем зависимость признаков
|
|
x[:, 10:] = x[:, :4] + np.random.normal(0, .025, (size, 4))
|
|
return x, y
|