make_friedman3 (original) (raw)
sklearn.datasets.make_friedman3(n_samples=100, *, noise=0.0, random_state=None)[source]#
Generate the “Friedman #3” regression problem.
This dataset is described in Friedman [1] and Breiman [2].
Inputs X
are 4 independent features uniformly distributed on the intervals:
0 <= X[:, 0] <= 100, 40 * pi <= X[:, 1] <= 560 * pi, 0 <= X[:, 2] <= 1, 1 <= X[:, 3] <= 11.
The output y
is created according to the formula:
y(X) = arctan((X[:, 1] * X[:, 2] - 1 / (X[:, 1] * X[:, 3])) / X[:, 0]) + noise * N(0, 1).
Read more in the User Guide.
Parameters:
n_samplesint, default=100
The number of samples.
noisefloat, default=0.0
The standard deviation of the gaussian noise applied to the output.
random_stateint, RandomState instance or None, default=None
Determines random number generation for dataset noise. Pass an int for reproducible output across multiple function calls. See Glossary.
Returns:
Xndarray of shape (n_samples, 4)
The input samples.
yndarray of shape (n_samples,)
The output values.
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_friedman3 X, y = make_friedman3(random_state=42) X.shape (100, 4) y.shape (100,) list(y[:3]) [np.float64(1.5...), np.float64(0.9...), np.float64(0.4...)]