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。

請參閱使用者指南以了解更多資訊。

參數:
n_samplesint,預設值=100

樣本數量。

n_featuresint,預設值=10

特徵數量。應至少為 5。

noisefloat,預設值=0.0

應用於輸出之高斯雜訊的標準差。

random_stateint、RandomState 實例或 None,預設值=None

決定資料集雜訊的隨機數生成。傳遞一個整數,以便在多次函數呼叫中獲得可重複的輸出。請參閱詞彙表

回傳值:
X形狀為 (n_samples, n_features) 的 ndarray

輸入樣本。

y形狀為 (n_samples,) 的 ndarray

輸出值。

參考文獻

[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.

範例

>>> 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.8...), np.float64(9.4...)]