make_friedman1#

sklearn.datasets.make_friedman1(n_samples=100, n_features=10, *, noise=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。

更多信息请参阅 用户指南

Parameters:
n_samplesint, 默认=100

样本数量。

n_featuresint, 默认=10

特征数量。应至少为 5。

noisefloat, 默认=0.0

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

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

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

Returns:
Xndarray of shape (n_samples, n_features)

输入样本。

yndarray of shape (n_samples,)

输出值。

References

[1]

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

[2]

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

Examples

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