机器数据分析平台

  • 机器数据分析平台 > 使用文档 > 应用平台 > Pandora机器学习工具包 >fit的使用方法详述 > 预测连续指标【回归】

    预测连续指标【回归】

    最近更新时间:2021-12-06 14:44:04

    使用场景

    连续数据不限于定义的单独值,而是可以占用连续范围内的任何值。在任何两个连续数据值之间,可能有无限多个其他值。比如身高、体重、温度、价格等等。当需要预测单个连续指标的时候,我们常用回归预测(Regression)的方法。

    通用语法

    |fit <algo_name> [options] <target_field> from <feature_field_1> <feature_field_2> [into model_name]... 
    

    通用参数说明:

    • <algo_name> 必填,用来指定训练模型采用的算法名称。
    • [options]可选,为算法的内置参数,根据提供的算法变化。
    • <target_field> 必填,且只能是一个字段,用来指定建模使用的目标字段,给定的target_field值必须存在于数据集中。target_field的数据必须为连续数据(只能是int或者float)。
    • <feature_field> 必填,可以是一个或者多个字段,用来指定建模使用的特征字段,给定的feature_field值必须存在于数据集中。
    • [into model_name]可选,用来将fit训练出来的模型保存成model_name以便下次调用。
    • 数据集必须不为空。

    以下算法可以用来预测连续型指标:

    线性回归 - Linear Regression

    线性回归模型尝试从已知数据集中学习得到一个线性模型(y~x),这个模型通过调整变量参数,尽可能准确地反应x和y的对应关系。根据求得的参数,我们可以对新的输入来计算预测的值。

    语法:

    ..| fit LinearRegression fit_intercept=<True(default) | False> normalize=<True | False(default)> <target_field> from <feature_field_1> <feature_field_2>... 
    
    

    参数说明:

    • fit_intercept参数用来是否计算模型的截距。默认为True。
    • normalize参数用来决定是否把X值正则化处理,默认值为False。如果normalize=True,在回归模型之前,先用L2正则化处理X值。
    • 当fit_intercept=False,normalize只能为True,如果normalize设为False,则会被忽略。

    决策树 - Decision Tree Regressor

    用决策树做回归任务时,从根节点开始,对样本的某一特征进行测试,根据测试结果,将样本分配到其子结点;这时,每一个子节点对应着该特征的一个取值。如此递归地对样本进行测试并分配,直至到达叶结点。在回归树中,采用的是启发式的方法。假如我们有n个特征,每个特征有s个取值,那我们遍历所有特征,尝试该特征所有取值,对空间进行划分,直到取到特征j的取值s,使得损失函数最小。

    语法:

    ..| fit DecisionTreeRegressor splitter=<best(default) | random> criterion=<mse(default) | mae | friedman_mse> max_features=<auto(default) | sqrt | log2 | None | int | float> max_depth=<int> min_samples_split=<int | float> min_samples_leaf=<int | float> max_leaf_nodes=<int> random_state=<int> <target_field> from <feature_field_1> <feature_field_2>... 
    

    参数说明:

    • splitter用来决定划分点选择标准,

      • splitter=best, 在特征的所有划分点中找出最优的划分点,适用于样本量不大的情况。
      • splitter=random,随机的在部分划分点中找局部最优的划分点,适用于样本数量非常大的情况。
    • criterion用来决定CART树做划分时对特征的评价标准。

      • criterion=mse,使用均方误差。
      • criterion=mae, 使用平均绝对误差。
      • criterion=friedman_mse(默认值),使用Friedman改进分数的均方误差函数。
    • max_features用来决定划分时考虑的最大特征数。

      • max_features=int,代表直接使用max_features为最大特征数量,必须在(0,n_features]之间。n_features即为建模时使用的特征字段的数量。
      • max_features=float,代表使用max_features*n_features为最大特征数量。必须使max_features*n_features向下取整的结果在(0,n_features]之间。
      • max_features=sqrt, 代表使用sqrt(n_features),即n_features的平方根值为最大特征数量。
      • max_features=log2, 代表使用log2(n_features)。
      • max_features=auto(默认值),和max_features=sqrt一样。
    • max_depth用来决定数的最大深度。若不提供,即为不设限。在数据量大以及使用的特征数量也很大的情况,可以考虑将max_depth设为[0,100]之间。

    • min_samples_split用来决定分割一个内部节点所需要的最小样本数量。如果某节点的样本数少于min_samples_split,则不会再继续划分。在数据量非常大的情况,建议增大这个值。

      • min_samples_split=int,代表直接使用min_samples_split作为最小样本数量。
      • min_samples_split=float,代表使用min_samples_split*n_samples向上取整的结果作为最小样本数量。n_samples即为建模时使用的样本数据量。
      • min_samples_split默认为2。
    • min_samples_leaf用来决定需要在叶子节点上的最小样本数量。如果某叶子节点数目小于样本数,则会和兄弟节点一起被剪枝。在数据量非常大的情况,建议增大这个值。

      • min_samples_leaf=int,代表直接使用min_samples_leaf作为最小样本数量。
      • min_samples_leaf=float,代表使用min_samples_leaf*n_samples向上取整的结果作为最小样本数量。n_samples即为建模时使用的样本数据量。
      • min_samples_leaf默认为1。
    • max_leaf_nodes用来决定最大叶子结点数量。若不提供,则不设限。通过限制最大叶子节点数,可以防止过拟合。在特征数量非常大的情况,建议增大这个值。

    • random_state为随机数种子,用来控制样本自助抽样的随机性和特征抽样的随机性。如果给定特定值,重新跑模型的时候,可以得出同样的结果。

    随机森林 - Random Forest Regressor

    随机森林回归模型通过随机抽取样本和特征,建立多棵相互不关联的决策树,通过并行的方式获得预测结果。每棵决策树都能通过抽取的样本和特征得出一个预测结果,通过综合所有”树“的结果取平均值,得到整个“森林”的回归预测结果。在没有很明确的偏好算法的情况下,建议可以使用随机森林算法来得出初步的模型

    语法:

    ..| fit RandomForestRegressor n_estimators=<int> criterion=<mse(default) | mae> max_features=<auto(default) | sqrt | log2 | None | int | float> max_depth=<int> min_samples_split=<int | float> min_samples_leaf=<int | float> max_leaf_nodes=<int> oob_score=<True | False(default)> random_state=<int> <target_field> from <feature_field_1> <feature_field_2>... 
    

    参数说明:

    • n_estimators用来决定建模中使用的数的数量,必须为正整数。若不设定,默认为100。

    • criterion用来决定CART树做划分时对特征的评价标准。

      • criterion=mse,使用均方误差。
      • criterion=mae, 使用平均绝对误差。
    • max_features用来决定划分时考虑的最大特征数。

      • max_features=int,代表直接使用max_features为最大特征数量,必须在(0,n_features]之间。n_features即为建模时使用的特征字段的数量。
      • max_features=float,代表使用max_features*n_features为最大特征数量。必须使max_features*n_features向下取整的结果在(0,n_features]之间。
      • max_features=sqrt, 代表使用sqrt(n_features),即n_features的平方根值为最大特征数量。
      • max_features=log2, 代表使用log2(n_features)。
      • max_features=auto(默认值),和max_features=sqrt一样。
    • max_depth用来决定数的最大深度。若不提供,即为不设限。在数据量大以及使用的特征数量也很大的情况,可以考虑将max_depth设为[0,100]之间。

    • min_samples_split用来决定分割一个内部节点所需要的最小样本数量。如果某节点的样本数少于min_samples_split,则不会再继续划分。在数据量非常大的情况,建议增大这个值。

      • min_samples_split=int,必须为正整数。代表直接使用min_samples_split作为最小样本数量。
      • min_samples_split=float,必须在(0, 1.0]范围之间。代表使用min_samples_split*n_samples向上取整的结果作为最小样本数量。n_samples即为建模时使用的样本数据量。
      • min_samples_split默认为2。
    • min_samples_leaf用来决定需要在叶子节点上的最小样本数量。如果某叶子节点数目小于样本数,则会和兄弟节点一起被剪枝。在数据量非常大的情况,建议增大这个值。

      • min_samples_leaf=int,必须为正整数。代表直接使用min_samples_leaf作为最小样本数量。
      • min_samples_leaf=float,必须在(0, 0.5]范围之间。代表使用min_samples_leaf*n_samples向上取整的结果作为最小样本数量。n_samples即为建模时使用的样本数据量。
      • min_samples_leaf默认为1。
    • max_leaf_nodes用来决定最大叶子结点数量。若不提供,则不设限。通过限制最大叶子节点数,可以防止过拟合。在特征数量非常大的情况,建议增大这个值。

    • oob_score用来决定是否采用袋外样本来评估模型的好坏。设置为True时,袋外分数反应了一个模型拟合后的泛化能力。默认为False。

    • random_state为随机数种子,用来控制样本自助抽样的随机性和特征抽样的随机性。如果给定特定值,重新跑模型的时候,可以得出同样的结果。

    Gradient Boosting回归树 - GBDT Regressor

    GBDT回归树是一种提升集成算法,采用串行方式而非并行模式获得预测结果,每棵决策树都是一个弱学习器,通过预测前一棵决策树的误差获得一个新的弱学习器,将每一步的弱学习器串行起来,就得到了一个强学习器,提升预测精度。

    语法:

    ..| fit GradientBoostingRegressor n_estimators=<int> learning_rate=<float> subsample=<float> loss=<ls(default) | lad | huber | quantile> criterion=<mse | mae | friedman_mse(default)> max_features=<auto(default) | sqrt | log2 | None | int | float> max_depth=<int> min_samples_split=<int | float> min_samples_leaf=<int | float> max_leaf_nodes=<int> random_state=<int> <target_field> from <feature_field_1> <feature_field_2>... 
    

    参数说明:

    • n_estimators用来决定建模中使用的数的数量,必须为正整数。若不设定,默认为100。

    • learning_rate用来指定收缩步长,即每个弱学习器的权重缩减系数,用于防止对负梯度方向的过拟合,提高模型的泛化能力,必须为(0,1]之间的float。默认为0.1。

    • subsample用来决定样本采样比例,必须为(0,1]之间的float。GBDT算法采用无放回的采样方式,如果subsample=1,则全部样本都使用,等于没有使用子采样。如果取值小于1,则只有一部分样本会去做GBDT的决策树拟合。默认为1。

    • loss用来决定损失函数。

      • loss=ls,使用均方差(least squares regression)
      • loss=lad, 使用最小绝对值差(least absolute deviation)
      • loss=huber,使用ls和lad的综合
      • loss=quantile,使用分位数回归(quantile regression)
      • 一般来说,如果数据的噪音点不多,用默认的均方差"ls"比较好。如果是噪音点较多,则推荐用抗噪音的损失函数"huber"。而如果我们需要对训练集进行分段预测的时候,则采用“quantile”。
    • criterion用来决定CART树做划分时对特征的评价标准。

      • criterion=mse,使用均方误差。
      • criterion=mae, 使用平均绝对误差。
      • criterion=friedman_mse(默认值),使用Friedman改进分数的均方误差函数。
    • max_features用来决定划分时考虑的最大特征数。

      • max_features=int,代表直接使用max_features为最大特征数量,必须在(0,n_features]之间。n_features即为建模时使用的特征字段的数量。
      • max_features=float,代表使用max_features*n_features为最大特征数量。必须使max_features*n_features向下取整的结果在(0,n_features]之间。
      • max_features=sqrt, 代表使用sqrt(n_features),即n_features的平方根值为最大特征数量。
      • max_features=log2, 代表使用log2(n_features)。
      • max_features=auto(默认值),和max_features=sqrt一样。
    • max_depth用来决定数的最大深度。若不提供,即为不设限。在数据量大以及使用的特征数量也很大的情况,可以考虑将max_depth设为[0,100]之间。

    • min_samples_split用来决定分割一个内部节点所需要的最小样本数量。如果某节点的样本数少于min_samples_split,则不会再继续划分。在数据量非常大的情况,建议增大这个值。

      • min_samples_split=int,代表直接使用min_samples_split作为最小样本数量。
      • min_samples_split=float,代表使用min_samples_split*n_samples向上取整的结果作为最小样本数量。n_samples即为建模时使用的样本数据量。
      • min_samples_split默认为2。
    • min_samples_leaf用来决定需要在叶子节点上的最小样本数量。如果某叶子节点数目小于样本数,则会和兄弟节点一起被剪枝。在数据量非常大的情况,建议增大这个值。

      • min_samples_leaf=int,代表直接使用min_samples_leaf作为最小样本数量。
      • min_samples_leaf=float,代表使用min_samples_leaf*n_samples向上取整的结果作为最小样本数量。n_samples即为建模时使用的样本数据量。
      • min_samples_leaf默认为1。
    • max_leaf_nodes用来决定最大叶子结点数量。若不提供,则不设限。通过限制最大叶子节点数,可以防止过拟合。在特征数量非常大的情况,建议增大这个值。

    • random_state为随机数种子,用来控制样本自助抽样的随机性和特征抽样的随机性。如果给定特定值,重新跑模型的时候,可以得出同样的结果。

    XGBoost回归树 - XGBoost Regressor

    XGBoost回归树是GBDT回归树的一种优化算法,通过添加正则化、并行处理、内置交叉验证等方法加快计算速度,优化模型表现。

    语法:

    ..| fit XGBRegressor booster=<gbree(default) | gblinear> eta=<float> min_child_weight=<int> max_depth=<int> gamma=<int> subsample=<float> objective=<"reg:squarederror" | "reg:squaredlogerror"> eval_metric=<rmse | mae | rmsle> lambda=<float> alpha=<float> random_state=<int> <target_field> from <feature_field_1> <feature_field_2>... 
    
    

    参数说明:

    • booster用来选择迭代计算的模型。

      • booster=gbtree(默认值),使用基于树的模型进行提升计算
      • booster=gblinear,使用线性模型进行提升计算
    • eta用来指定收缩步长,即每个弱学习器的权重缩减系数,用于防止对负梯度方向的过拟合,提高模型的泛化能力,必须为(0,1]之间的float。eta通过缩减特征的权重使提升计算过程更加保守。默认为0.3。

    • min_child_weight

      • 在booster=gbtree的情况下,用来指定子节点中最小的样本权重和,用于避免过拟合。如果一个叶子节点的样本权重和小于min_child_weight则拆分过程结束。
      • 在booster=gblinear的情况下,这个参数是指建立每个模型所需要的最小样本数。
      • 默认值为1。
    • max_depth用来指定数的最大深度,若不提供,则默认值为6。

    • gamma用来指定节点分裂所需的最小损失函数下降值。在节点分裂时,只有分裂后损失函数的值下降了,才会分裂这个节点。这个参数的值越大,算法越保守。默认为0。

    • subsample用来决定样本采样比例,必须为(0,1]之间的float。算法采用无放回的采样方式,如果subsample=1,则全部样本都使用,等于没有使用子采样。如果取值小于1,则只有一部分样本会去做决策树拟合。默认为1。

    • objective用来指定学习任务及相应的学习目标。

      • objective=reg:squarederror,用最小二乘法做回归拟合。
      • objective=reg:squaredlogerror,用最小对数二乘法做回归拟合,要求所有输入数据的label大于-1。"
    • eval_metric用来指定校验数据所需要的评价指标,不同的目标函数会支持不同的评价指标。

      • eval_metric=rmse, 均方根误差
      • eval_metric=mae, 平均绝对误差
      • eval_metric=rmsle, 均方根对数误差
      • 在objective=reg:squarederror的情况下,eval_metric默认为rmse,在objective=reg:squaredlogerror的情况下,eval_metric默认为rmsle。
    • lambda用来指定L2正则化的惩罚系数,可以用来降低过拟合。

    • alpha用来指定L1正则化的惩罚系数,这样有助于提升计算的速度。

    • random_state为随机数种子,用来控制样本自助抽样的随机性和特征抽样的随机性。如果给定特定值,重新跑模型的时候,可以得出同样的结果。

    ElasticNet - 弹性网络

    ElasticNet是一种按比例同时融合L1正则和L2正则的线性回归模型。

    语法:

    ..| fit ElasticNet fit_intercept=<True(default) | False> normalize=<True | False(default)> alpha=<float> l1_ratio=<float> <target_field> from <feature_field_1> <feature_field_2>... 
    
    

    参数说明:

    • fit_intercept参数用来指定模型是否要拟合截距项,如果数据已经中心化,可以设为False。默认值为True。
    • normalize仅在fit_intercept为True时有效。如果设为True,则自变量X会在做线性回归之前被标准化。
    • alpha用来指定一个常数,用于在损失函数中乘以正则项。该值越高,正则程度越高。默认值为1.0。
    • l1_ratio表示L1正则的比例。在弹性网络中,正则项由L1和L2两部分组成,比例之和为1。默认值为0.15。

    KernelRidge - 核岭回归

    岭回归是一种带有L2正则的线性回归模型。
    核岭回归是先对数据作核变换以适应各种非线性情形,然后再对数据作岭回归的一种模型。

    语法:

    ..| fit KernelRidge alpha=<float> gamma=<float> kernel=<linear(default) | poly | rbf | sigmoid | cosine> <target_field> from <feature_field_1> <feature_field_2>... 
    
    

    参数说明:

    • alpha用来指定一个正则化强度,该数会用于在损失函数中乘以正则项。该值越高,正则程度越高。默认值为1.0。
    • kernel用来指定核函数类型。
      • kernel=linear,即采用线性核函数。
      • kernel=poly,即采用多项式核函数。
      • kernel=rbf,即采用径向基核函数。(默认值)
      • kernel=sigmoid,即采用sigmoid核函数。
      • kernel=cosine,即采用余弦相似度作为核函数。
    • gamma参数仅在kernel为rbf或者poly或者sigmoid时有效,它作为核函数中的一个参数。默认值为scale。
      • gamma = float,指定一个小数常数作为gamma值。
      • gamma = ‘scale’,gamma值会被设定为1 / (n_features * X.var()) 。(默认值)
      • gamma = ‘auto’,gamma值会被设定1 / n_features。

    Lasso - Lasso回归

    Lasso回归是一种带有L1正则的线性回归模型。

    语法:

    ..| fit Lasso fit_intercept=<True(default) | False> normalize=<True | False(default)> alpha=<float> from <feature_field_1> <feature_field_2>... 
    
    

    参数说明:

    • fit_intercept参数用来指定模型是否要拟合截距项,如果数据已经中心化,可以设为False。默认值为True。
    • normalize仅在fit_intercept为True时有效。如果设为True,则自变量X会在做线性回归之前被标准化。
    • alpha用来指定一个常数,用于在损失函数中乘以正则项。该值越高,正则程度越高。默认值为1.0。

    Ridge - 岭回归

    岭回归是一种带有L2正则的线性回归模型。

    语法:

    ..| fit Ridge fit_intercept=<True(default) | False> normalize=<True | False(default)> alpha=<float> from <feature_field_1> <feature_field_2>... 
    
    

    参数说明:

    • fit_intercept参数用来指定模型是否要拟合截距项,如果数据已经中心化,可以设为False。默认值为True。
    • normalize仅在fit_intercept为True时有效。如果设为True,则自变量X会在做线性回归之前被标准化。
    • alpha用来指定一个常数,用于在损失函数中乘以正则项。该值越高,正则程度越高。默认值为1.0。

    随机梯度下降回归 - SGDRegressor

    随机梯度下降回归基于线性模型(例如线性回归,支持向量机),并使用随机梯度下降的方式进行优化、求解,从而完成回归任务。

    ..| fit SGDRegressor fit_intercept=<True(default)|False> random_state=<int> n_iter_no_change=<int>  max_iter=<int> l1_ratio=<floats> alpha=<floats> eta0=<floats> power_t=<floats> tol=<floats> loss=<hinge | log | modified_huber | perception | squared_error(default) | huber | epsilon_insensitive | squared_epsilon_insensitive> penalty=<l1 | l2 | elasticnet(default)> learning_rate=<constant | optimal(default) | invscaling | adaptive> <target_field> from <feature_field_1> <feature_field_2>... 
    

    参数说明:

    • fit_intercept参数用来指定模型是否要拟合截距项,如果数据已经中心化,可以设为False。默认值为True。

    • random_state用来指定随机种子,用来控制模型的随机性。如果给定特定值,重新跑模型的时候,可以得出同样的结果。

    • n_iter_no_change,每当超过n_iter_no_change参数的迭代次数损失函数没有显著变化时,训练停止。默认值为5。

    • max_iter用来指定神经网络的最大迭代次数,默认值为1000。

    • l1_ratio用于弹性网络模型(ElasticNet),表示L1正则的比例。默认值为0.15。

    • alpha用来指定一个常数,用于在损失函数中乘以正则项。该值越高,正则程度越高。

    • eta0参数用来指定初始的学习率。

    • tol参数用于指定优化器的忍耐度。当损失函数的值的变化小于了忍耐度,便认为训练结束,从而停止训练。默认值为1e-4。

    • loss参数用于指定损失函数的形式。

      • loss = hinge,采用铰链损失函数(适用于分类任务)。
      • loss = log,采用对数损失函数(适用于分类任务)。
      • loss = modified_huber,采用调整huber损失函数(适用于分类任务)。
      • loss = perception,采用perception损失函数(适用于分类任务)。
      • loss = squared_error,采用平方损失函数(适用于回归任务)。(默认值)
      • loss = huber,采用huber损失函数(适用于回归任务)。
      • loss = epsilon_insensitive,采用经epsilon调整的铰链损失函数(适用于回归任务)。
      • loss = squared_epsilon_insensitive,采用经平方epsilon调整的铰链损失函数(适用于回归任务)。
    • penalty参数用于指定正则项的形式。

      • penalty = l1,表示使用L1正则项。
      • penalty = l2,表示使用L2正则项。(默认值)
      • penalty = elasticnet,表示使用弹性网络的正则项,它是L1正则项和L2正则项的融合。
    • learning_rate用来指定学习率的模式。

      • learning_rate= constant,即使用常数作为学习率。用eta0参数来设置其值。
      • learning_rate = optimal,eta = 1.0 / (alpha * (t + t0))。其中t是迭代的步数,t0是由Leon Bottou提出的启发式选择。(默认值)
      • learning_rate = invscaling,使用一种逐渐自动下降的学习率。在训练的第t步,学习率会变为eta0 / pow(t, power_t)。其中power_t可以手动设定,其默认值为0.5。
      • learning_rate = adaptive,使用自适应的学习率。每当n_iter_no_change次迭代,误差函数变化很小时,就会降低学习率。
    • power_t参数仅在learning_rate = invscaling时有效,其作用见learning_rate参数下invscaling取值时的说明。默认值为0.5。

    多层感知机回归 - MLPRegressor

    多层感知机是一种简单的多层神经网络模型。可以适用于回归问题。 ``` ..| fit MLPRegressor batch_size= max_iter= random_state= tol= momentum= learning_rate_init= power_t= activation= solver= learning_rate= hidden_layer_sizes= from ... ``` **参数说明:**
    • batch参数用来指定mini-batch sgd优化器的样本批量大小,默认值为200(如样本数低于200,则为样本数)。

    • max_iter用来指定神经网络的最大迭代次数,默认值为200。

    • random_state用来指定随机种子,用来控制模型初始权重的随机性。如果给定特定值,重新跑模型的时候,可以得出同样的结果。

    • tol参数用于指定优化器的忍耐度。当损失函数的值的变化小于了忍耐度,便认为训练结束,从而停止训练。默认值为1e-4。

    • momentum参数用于指定随机梯度下降优化器的动量,其值介于0到1之间。该参数仅在优化器为sgd的情形下有效。

    • activation用来指定激活函数。

      • activation = identity,使用f(x) = x的激活函数
      • activation = logistic,使用f(x) = 1 / (1 + exp(-x))的激活函数,又名sigmoid激活函数。
      • activation = tanh,使用双曲正切激活函数。
      • activation = relu,使用整流线性单元激活函数。(默认值)
    • solver用来指定优化器。

      • solver = lbfgs,使用拟牛顿法作为优化器。
      • solver = sgd,使用随机梯度下降优化器。
      • solver = adam,使用adam优化器。(默认值)
    • learning_rate参数用来指定学习率的模式。

      • learning_rate = constant,即使用常数作为学习率。用learning_rate_init参数来设置其值。(默认值)
      • learning_rate = invscaling,使用一种逐渐自动下降的学习率。在训练的第t步,学习率会变为learning_rate_init / pow(t, power_t)。其中power_t可以手动设定,其默认值为0.5。
      • learning_rate = adaptive,使用自适应的学习率,当误差函数变化很小时,就会降低学习率。
    • learning_rate_init 用来指定学习率,默认值为0.001。

    • hidden_layer_sizes用于指定网络架构,输入形式为元组,元组长度表示架构的层数,元组第i个数表示第i层的神经元个数。例如hidden_layer_sizes = “512-512-64”表示该多层感知机会用三个隐藏层,神经元数量分别为512,512,64。
      默认值为100,表示只用一个100个神经元的隐藏层。

    • power_t。该参数仅当learning_rate = invscaling时有效,其作用见learning_rate参数下invscaling取值时的说明。默认值为0.5。

    支持向量回归 - SVR

    使用支持向量回归完成回归任务。

    ..| fit SVR degree=<int> random_state=<int> kernel=<linear | poly | rbf(default) | sigmoid | cosine> gamma=<float | scale(default | auto)> coef0=<floats> C=<floats> <target_field> from <feature_field_1> <feature_field_2>...
    

    参数说明:

    • degree参数仅在kernel=poly时有效,它作为多项式核函数中的一个参数。默认值为3。

    • random_state用来指定随机种子,用来控制模型的随机性。如果给定特定值,重新跑模型的时候,可以得出同样的结果。

    • kernel用来指定核函数类型。

      • kernel=linear,即采用线性核函数。
      • kernel=poly,即采用多项式核函数。
      • kernel=rbf,即采用径向基核函数。(默认值)
      • kernel=sigmoid,即采用sigmoid核函数。
      • kernel=cosine,即采用余弦相似度作为核函数。
    • gamma参数仅在kernel为rbf或者poly或者sigmoid时有效,它作为核函数中的一个参数。默认值为scale。/

      • gamma = float,指定一个小数常数作为gamma值。
      • gamma = ‘scale’,gamma值会被设定为1 / (n_features * X.var()) 。(默认值)
      • gamma = ‘auto’,gamma值会被设定1 / n_features。
    • coef0参数仅在kernel为poly或者sigmoid时有效,它作为核函数的常数项,默认值为0。

    • C参数是损失函数中的一个参数,它起到控制正则化强度的效果,必须是正数。C值越大,则正则化强度越小。默认值为1.0。

    以上内容是否对您有帮助?
  • Qvm free helper
    Close