secretflow.ml.boost.ss_xgb_v package#

Subpackages#

Submodules#

secretflow.ml.boost.ss_xgb_v.model module#

Classes:

XgbModel(spu, objective, base)

SS Xgb Model & predict.

Xgb(spu)

This method provides both classification and regression tree boosting (also known as GBDT, GBM) for vertical split dataset setting by using secret sharing.

class secretflow.ml.boost.ss_xgb_v.model.XgbModel(spu: SPU, objective: RegType, base: float)[source]#

Bases: object

SS Xgb Model & predict.

Methods:

__init__(spu, objective, base)

predict(dtrain[, to_pyu])

predict on dtrain with this model.

__init__(spu: SPU, objective: RegType, base: float) None[source]#
predict(dtrain: Union[FedNdarray, VDataFrame], to_pyu: Optional[PYU] = None) Union[SPUObject, FedNdarray][source]#

predict on dtrain with this model.

Parameters
  • dtrain – [FedNdarray, VDataFrame] vertical split dataset.

  • to – the prediction initiator if not None predict result is reveal to to_pyu device and save as FedNdarray otherwise, keep predict result in secret and save as SPUObject.

Returns

Pred values store in spu object or FedNdarray.

class secretflow.ml.boost.ss_xgb_v.model.Xgb(spu: SPU)[source]#

Bases: object

This method provides both classification and regression tree boosting (also known as GBDT, GBM) for vertical split dataset setting by using secret sharing.

SS-XGB is short for secret sharing XGB. more details: https://arxiv.org/pdf/2005.08479.pdf

Parameters

spu – secret device running MPC protocols

Methods:

__init__(spu)

train(params, dtrain, label)

train on dtrain and label.

__init__(spu: SPU) None[source]#
train(params: Dict, dtrain: Union[FedNdarray, VDataFrame], label: Union[FedNdarray, VDataFrame]) XgbModel[source]#

train on dtrain and label.

Parameters
  • dtrain – {FedNdarray, VDataFrame} vertical split dataset.

  • label – {FedNdarray, VDataFrame} label column.

  • params – Dict booster params, details are as follows

booster params details:

num_boost_roundint, default=10

Number of boosting iterations. range: [1, 1024]

‘max_depth’: Maximum depth of a tree.

default: 5 range: [1, 16]

‘learning_rate’: Step size shrinkage used in update to prevents overfitting.

default: 0.3 range: (0, 1]

‘objective’: Specify the learning objective.

default: ‘logistic’ range: [‘linear’, ‘logistic’]

‘reg_lambda’: L2 regularization term on weights.

default: 0.1 range: [0, 10000]

‘subsample’: Subsample ratio of the training instances.

default: 1 range: (0, 1]

‘colsample_bytree’: Subsample ratio of columns when constructing each tree.

default: 1 range: (0, 1]

‘sketch_eps’: This roughly translates into O(1 / sketch_eps) number of bins.

default: 0.1 range: (0, 1]

‘base_score’: The initial prediction score of all instances, global bias.

default: 0

‘seed’: Pseudorandom number generator seed.

default: 42

Returns

XgbModel

Module contents#

Classes:

XgbModel(spu, objective, base)

SS Xgb Model & predict.

Xgb(spu)

This method provides both classification and regression tree boosting (also known as GBDT, GBM) for vertical split dataset setting by using secret sharing.

class secretflow.ml.boost.ss_xgb_v.XgbModel(spu: SPU, objective: RegType, base: float)[source]#

Bases: object

SS Xgb Model & predict.

Methods:

__init__(spu, objective, base)

predict(dtrain[, to_pyu])

predict on dtrain with this model.

__init__(spu: SPU, objective: RegType, base: float) None[source]#
predict(dtrain: Union[FedNdarray, VDataFrame], to_pyu: Optional[PYU] = None) Union[SPUObject, FedNdarray][source]#

predict on dtrain with this model.

Parameters
  • dtrain – [FedNdarray, VDataFrame] vertical split dataset.

  • to – the prediction initiator if not None predict result is reveal to to_pyu device and save as FedNdarray otherwise, keep predict result in secret and save as SPUObject.

Returns

Pred values store in spu object or FedNdarray.

class secretflow.ml.boost.ss_xgb_v.Xgb(spu: SPU)[source]#

Bases: object

This method provides both classification and regression tree boosting (also known as GBDT, GBM) for vertical split dataset setting by using secret sharing.

SS-XGB is short for secret sharing XGB. more details: https://arxiv.org/pdf/2005.08479.pdf

Parameters

spu – secret device running MPC protocols

Methods:

__init__(spu)

train(params, dtrain, label)

train on dtrain and label.

__init__(spu: SPU) None[source]#
train(params: Dict, dtrain: Union[FedNdarray, VDataFrame], label: Union[FedNdarray, VDataFrame]) XgbModel[source]#

train on dtrain and label.

Parameters
  • dtrain – {FedNdarray, VDataFrame} vertical split dataset.

  • label – {FedNdarray, VDataFrame} label column.

  • params – Dict booster params, details are as follows

booster params details:

num_boost_roundint, default=10

Number of boosting iterations. range: [1, 1024]

‘max_depth’: Maximum depth of a tree.

default: 5 range: [1, 16]

‘learning_rate’: Step size shrinkage used in update to prevents overfitting.

default: 0.3 range: (0, 1]

‘objective’: Specify the learning objective.

default: ‘logistic’ range: [‘linear’, ‘logistic’]

‘reg_lambda’: L2 regularization term on weights.

default: 0.1 range: [0, 10000]

‘subsample’: Subsample ratio of the training instances.

default: 1 range: (0, 1]

‘colsample_bytree’: Subsample ratio of columns when constructing each tree.

default: 1 range: (0, 1]

‘sketch_eps’: This roughly translates into O(1 / sketch_eps) number of bins.

default: 0.1 range: (0, 1]

‘base_score’: The initial prediction score of all instances, global bias.

default: 0

‘seed’: Pseudorandom number generator seed.

default: 42

Returns

XgbModel