弗里德曼回归问题 #1

弗里德曼回归问题 #1 是一个经典的回归分析问题,由J. Friedman和L. Breiman提出。该问题通过生成一组具有多个特征数据集来模拟回归问题。在这个问题中,输入特征X在区间[0, 1]上均匀分布,而输出y是根据特定的公式计算得出的。

输出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。

该问题可以通过Python中的scikit-learn库来生成相应的数据集。以下是生成弗里德曼回归问题 #1 数据集的代码示例:

from sklearn.datasets import make_friedman1 # 设置参数 n_samples = 100 # 样本数量 n_features = 10 # 特征数量 noise = 0.0 # 高斯噪声的标准差 random_state = 42 # 随机状态,用于可重复性 # 生成数据集 X, y = make_friedman1(n_samples=n_samples, n_features=n_features, noise=noise, random_state=random_state) # 查看数据集的形状 print(X.shape) # 输出: (100, 10) print(y.shape) # 输出: (100,) print(list(y[:3])) # 输出: [np.float64(16.8...), np.float64(5.8...), np.float64(9.4...)]

通过上述代码,可以生成一个包含100个样本和10个特征的数据集,其中只有5个特征与输出y相关。此外,还可以通过调整noise参数来控制输出y中的噪声水平。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485