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...)]