scikit-learn库学习之make_regression函数

scikit-learn库学习之make_regression函数

一、简介

make_regression是scikit-learn库中用于生成回归问题数据集的函数。它主要用于创建合成的回归数据集,以便在算法的开发和测试中使用。

二、语法和参数

sklearn.datasets.make_regression(n_samples=100, n_features=100, *, n_informative=10, n_targets=1, bias=0.0, effective_rank=None, tail_strength=0.5, noise=0.0, shuffle=True, coef=False, random_state=None)
  • n_samples: int, 可选,样本数量,默认值为100。
  • n_features: int, 可选,特征数量,默认值为100。
  • n_informative: int, 可选,有用特征的数量,默认值为10。
  • n_targets: int, 可选,目标变量的数量,默认值为1。
  • bias: float, 可选,偏置项,默认值为0.0。
  • effective_rank: int 或 None, 可选,矩阵的有效秩(生成具有指定有效秩的低秩矩阵)。
  • tail_strength: float, 可选,稀疏奇异值分解的尾部强度,默认值为0.5。
  • noise: float, 可选,噪声的标准差,默认值为0.0。
  • shuffle: boolean, 可选,是否在生成样本后对其进行洗牌,默认值为True。
  • coef: boolean, 可选,如果为True,则返回线性模型的系数,默认值为False。
  • random_state: int, RandomState instance 或 None, 可选,随机数生成器的种子。

三、实例

3.1 生成具有默认参数的回归数据集
import numpy as np
from sklearn.datasets import make_regression

# 生成回归数据集
X, y = make_regression()

print("特征矩阵X:\n", X)
print("目标变量y:\n", y)

输出:

特征矩阵X:
 [[ 0.22149882 -0.06453352  0.12052486 ... -0.82411415  0.23856925
  -0.16168211]
 [-0.20101287 -0.44072967 -1.14649484 ...  0.63646684 -0.42500386
   0.4671914 ]
 ...
 [ 0.90505363 -0.53703078  0.50773971 ...  1.14990328  0.05411115
  -0.08363001]]
目标变量y:
 [-144.31924045  181.62052712  -48.9289649  ...  235.29125152
  223.43232493  102.79266155]
3.2 生成带有噪声和偏置的回归数据集
import numpy as np
from sklearn.datasets import make_regression

# 生成带有噪声和偏置的回归数据集
X, y = make_regression(noise=10.0, bias=100.0)

print("特征矩阵X:\n", X)
print("目标变量y:\n", y)

输出:

特征矩阵X:
 [[ 1.24086241  0.00303736  1.17925455 ... -1.07069539  0.93889406
  -0.22232984]
 [-0.74205332  0.65462794  0.14662052 ... -0.59564518  1.28669867
   1.00484528]
 ...
 [ 1.00952406 -0.34893754  0.04816599 ...  0.53224443  1.08944202
  -0.68298357]]
目标变量y:
 [  97.85236613   57.67386596  143.4882752  ...  -43.32816291
 -160.72606466  -91.79449558]
3.3 生成指定有效秩的回归数据集
import numpy as np
from sklearn.datasets import make_regression

# 生成指定有效秩的回归数据集
X, y = make_regression(effective_rank=2)

print("特征矩阵X:\n", X)
print("目标变量y:\n", y)

输出:

特征矩阵X:
 [[-0.13033419 -0.11927356 -0.1261044  ... -0.11075221 -0.09502064
  -0.15613214]
 [-0.12111371 -0.1146456  -0.1225812  ... -0.10441777 -0.09032011
  -0.14703234]
 ...
 [-0.13796815 -0.12383917 -0.13535568 ... -0.11880625 -0.10313284
  -0.17030849]]
目标变量y:
 [-123.66530542 -143.25411773 -127.83807546 ... -145.23413153
 -131.64245155 -124.93295103]

四、注意事项

  • 参数n_samplesn_features决定了生成数据集的大小和维度。
  • n_informative参数决定了有用特征的数量,这些特征对目标变量有显著影响。
  • noise参数添加到目标变量中的噪声,值越大,数据越不纯。
  • 设置random_state参数以确保每次生成数据的一致性。
  • 如果需要生成指定秩的矩阵,可以使用effective_rank参数。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值