IIS_2023_1/malkova_anastasia_lab_2/dataset.py

15 lines
550 B
Python
Raw Normal View History

2023-11-11 18:47:17 +04:00
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