bm.model package

模型

bm.model.models module

class bm.model.models.Model(param_dict, numeric_feature, category_feature)

Bases: object

特征处理以及模型初始化类,该类包括了模型初始化方法,数值型特征和类别型特征的处理方法 对于数值型特征采用的是标准化缩放的方法处理;对于类别型特征则采用OneHot的方法进行编码

Parameters
  • param_dict (dict) – 可选项,各个模型的初始化配置, {lgb:lgb_params,xgb:xgb_params,rf:rf_params,gbdt:gbdt_params,catb:catb_params,voting:[lgb_params, xgb_params,lr_params]}

  • numeric_feature (list or ndarray) – 数值型特征名称列表

  • category_feature (list or ndarray) – 类别型特征名称列表

data_preprocess(datas, base_features, target)
Parameters
  • datas (Dataframe) – 输入的数据

  • base_features (list) – 特征列表

  • target (str) – 目标标签

Returns

  • train_data (Dataframe) – 根据base_features所提供的特征名称获取对应的特征训练数据

  • target_data (Dataframe or Serice) – 根据target获取训练数据所对应的标签

init_model(model_type)

模型初始化方法, 根据模型类型以及参数字典对相应的模型进行初始化,目前支出的模型包括lgb,xgb,rf,gbdt,catb以及voting(lgb+xgb+lr)

Parameters

model_type (str) – 可选项,模型类型, option=[‘lgb’, ‘xgb’, ‘rf’, ‘gbdt’, ‘catb’,’voting’]

Notes

model_type作为可选项,必须保证配置参数与所选模型匹配, 如下所示: lgb : lgb_params xgb : xgb_params rf : rf_params gbdt : gbdt_params catb : catb_params voting : [lgb_params, xgb_params, lr_params]

make_pipeline_model(model_type, numeric_method, categorical_method)
Parameters

model_type (str) – 模型类型

Returns

pipeline_model – 初始化好的的pipeline模型

Return type

pipeline

preprocess(numeric_method='standard', categorical_method='one-hot')

特征处理方法初始化,将数值型特征和类别型特征进行相应的处理

Parameters
  • numeric_method (str, default:standard, option:[min-max, standard, max, norm, mixed]) – 数值型特征处理方法, 主要包括特征缩放(MinMaxScaler)、特征标准化(StandardScaler)、归一化(Normalizer)、多项式交互特征(PolynomialFeatures)

  • categorical_method (str, default: one-hot, option:[one-hot, ordinal-encode,target-encode, mixed, binary-encode, catboost-encode]) – 类别型特征处理方法, 主要包括独热编码(OneHotEncoder)、序列编码(OrdinalEncoder)、目标编码(TargetEncoder)、多项式交互特征(PolynomialEncoder)、二进制编码(BinaryEncoder)、CatBoost编码(CatBoostEncoder)

Returns

preprocessor – 初始化的特征处理流方法

Return type

transformers