make_friedman2#

sklearn.datasets.make_friedman2(n_samples=100, *, noise=0.0, random_state=None)#

生成 “Friedman #2” 回归问题。

该数据集在 Friedman [1] 和 Breiman [2] 中有描述。

输入 X 是 4 个独立特征,均匀分布在以下区间:

0 <= X[:, 0] <= 100,
40 * pi <= X[:, 1] <= 560 * pi,
0 <= X[:, 2] <= 1,
1 <= X[:, 3] <= 11.

输出 y 根据以下公式创建:

y(X) = (X[:, 0] ** 2 + (X[:, 1] * X[:, 2]  - 1 / (X[:, 1] * X[:, 3])) ** 2) ** 0.5 + noise * N(0, 1).

更多信息请参阅 用户指南

Parameters:
n_samplesint, 默认=100

样本数量。

noisefloat, 默认=0.0

应用于输出的高斯噪声的标准差。

random_stateint, RandomState 实例或 None, 默认=None

确定用于数据集噪声的随机数生成。传递一个 int 以在多次函数调用中获得可重复的输出。 请参阅 术语表

Returns:
Xndarray of shape (n_samples, 4)

输入样本。

yndarray of shape (n_samples,)

输出值。

References

[1]

J. Friedman, “Multivariate adaptive regression splines”, The Annals of Statistics 19 (1), 页码 1-67, 1991.

[2]

L. Breiman, “Bagging predictors”, Machine Learning 24, 页码 123-140, 1996.

Examples

>>> from sklearn.datasets import make_friedman2
>>> X, y = make_friedman2(random_state=42)
>>> X.shape
(100, 4)
>>> y.shape
(100,)
>>> list(y[:3])
[1229.4..., 27.0..., 65.6...]