make_friedman1#

sklearn.datasets.make_friedman1(n_samples=100, n_features=10, *, шум=0.0, random_state=None)[источник]#

Сгенерировать регрессионную задачу "Friedman #1".

Этот набор данных описан в Friedman [1] и Breiman [2].

Входы X являются независимыми признаками, равномерно распределенными на интервале [0, 1]. Выход y создается по формуле:

y(X) = 10 * sin(pi * X[:, 0] * X[:, 1]) + 20 * (X[:, 2] - 0.5) ** 2 + 10 * X[:, 3] + 5 * X[:, 4] + noise * N(0, 1).

Из n_features признаков, только 5 фактически используются для вычисления y. Остальные признаки не зависят от y.

Количество признаков должно быть >= 5.

Подробнее в Руководство пользователя.

Параметры:
n_samplesint, по умолчанию=100

Количество образцов.

n_featuresint, по умолчанию=10

Количество признаков. Должно быть не менее 5.

шумfloat, по умолчанию=0.0

Стандартное отклонение гауссовского шума, применяемого к выходу.

random_stateint, экземпляр RandomState или None, по умолчанию=None

Определяет генерацию случайных чисел для шума в наборе данных. Передайте целое число для воспроизводимого вывода при нескольких вызовах функции. См. Глоссарий.

Возвращает:
Xndarray формы (n_samples, n_features)

Входные образцы.

yndarray формы (n_samples,)

Выходные значения.

Ссылки

[1]

Дж. Фридман, "Многомерные адаптивные регрессионные сплайны", The Annals of Statistics 19 (1), страницы 1-67, 1991.

[2]

L. Breiman, «Bagging predictors», Machine Learning 24, стр. 123-140, 1996.

Примеры

>>> from sklearn.datasets import make_friedman1
>>> X, y = make_friedman1(random_state=42)
>>> X.shape
(100, 10)
>>> y.shape
(100,)
>>> list(y[:3])
[np.float64(16.8), np.float64(5.87), np.float64(9.46)]