You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何生成具备不同目标范围或模式的多目标回归数据集

多目标差异化回归数据集构造方案

核心逻辑很简单:不需要完全依赖make_regression直接生成多目标标签,手动为两个目标分别构造「线性关联规则」和「非线性关联规则」即可,和共用特征集拼接后就符合你的要求。


1. 生成共用特征集

先构造和你示例参数一致的特征集:

import numpy as np
from sklearn.datasets import make_regression

# 生成5000样本、10个特征的共用特征集
X, _ = make_regression(n_samples=5000, n_features=10, n_informative=7, random_state=1, noise=0)

2. 构造适配线性模型的目标y1

y1只保留和特征的纯线性加权关系,加少量噪声,刚好适配Linear、Lasso、Ridge这类线性模型:

# y1为纯线性关联,无任何非线性规则
y1 = 3.2 * X[:,0] + 1.5 * X[:,2] - 2.7 * X[:,3] + 4.1 * X[:,5] + np.random.normal(0, 5, size=len(X))

这个目标下线性模型的拟合效果和非线性模型没有明显差距,甚至泛化性更好

3. 构造适配非线性模型的目标y2

给y2加入大量线性模型无法捕捉的非线性规则,比如高阶项、特征交叉、三角函数、分段逻辑:

# y2包含多种非线性关联规则
y2 = 2.1 * np.square(X[:,1]) + 1.8 * np.sin(X[:,4]) + X[:,6] * X[:,7] + np.where(X[:,8] > 0, 3 * X[:,8], -2 * X[:,8]) + np.random.normal(0, 4, size=len(X))

这个目标下线性模型拟合R²通常不到0.4,RF、SVR、KNN的拟合R²可以达到0.9以上,差异非常明显

4. 合并为标准多目标数据集

和make_regression的输出格式完全对齐:

# 合并为shape=(5000, 2)的多目标标签矩阵
y = np.column_stack([y1, y2])

内容的提问来源于stack exchange,提问作者Opps_0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:27:02