云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_腾讯企业邮箱邮件导出_安全稳定

小七 141 0

使用AutoML工具箱的FamilyRunner管道API简化和自动化贷款违约预测

用Databricks中的AutoML Pipeline API笔记本试试这个贷款风险介绍在使用AutoML工具箱自动化贷款违约预测的文章中,我们展示了Databricks实验室的AutoML工具箱如何简化机器学习模型特征工程和模型构建优化(MBO),并将曲线下面积(AUC)从0.6732(手工XGBoost模型)提高到0.723(AutoML XGBoost模型)AutoML Toolkit的0.6.1版,我们已经升级到MLflow 1.3.0版,并引入了一个新的管道API,简化了特征生成和推理。在本文中,我们将讨论:Family Runner API允许您轻松尝试不同的模型族以确定最佳模型使用管道API简化推理使用管道API简化特性工程都在家里…跑步者正如最初使用XGBoost和Databricks Runtime for Machine Learning进行贷后风险分析时所指出的,我们尝试了三种不同的模型族:GLM、GBT和XGBoost。在没有深入研究细节的情况下,每种模型类型都包含数百行代码。正如在使用AutoML Toolkit自动化贷款违约预测中所述,我们将每种模型类型的代码减少到几行。通过AutoML Toolkit FamilyRunner API,我们允许您使用它同时运行分布在Databricks群集节点上的多个模型类型,从而进一步简化了这一点。下面是运行两个模型(Logistic回归和XGBoost)所需的三行代码。val xgBoostConfig=CoGenerateConfigurationMap("XGBoost","分类器",xgBoostOverrides)val logisticseregressionconfig=CoConfigurationGenerator.generateConfigFromMap("LogisticRegression","分类器",logisticRegOverrides)val runner=FamilyRunner(datasetTrain,Array(xgBoostConfig,logisticRegressionConfig)).executeWithPipeline()在这个代码片段的输出单元中,您可以观察到FamilyRunner API执行多个任务,每个任务都在为您选择的模型类型找到最佳的超参数。===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.MlFlowLoggingValidationStageTransformer日志==>阶段名称:MlFlowLoggingValidationStageTransformer AEADD79DE9总阶段执行时间:194毫秒阶段参数:{automlInternalId:automl_内部_id,isDebugEnabled:真,mlFlowAPIToken:[修订版],mlFlowExperimentName:/用户/巴厘岛@databricks.com/AutoML/Jas_AutoML_演示/runXG_1,mlFlowLoggingFlag:true,mlFlowTrackingURI公司:https://demo.cloud.databricks.com,管线ID:290b3c8d-8dbc-4b1b-a9da-8807153ec602}输入数据集计数:547821输出数据集计数:547821...使用AutoML Toolkit的0.6.1版,我们已经升级到使用最新版本的MLflow(1.3.0)。下面的剪辑显示了记录在MLflow中的AutoML FamilyRunner实验的结果,您可以比较逻辑回归模型(AUC=0.716)和XGBoost(AUC=0.72)的结果。用流水线API简化推理FamilyRunner上的管道api允许使用MLflow运行ID或PipelineModel对象运行推理。这些管道包含一系列直接从AutoML的主配置构建的阶段。通过运行这些方法中的一种,它确保预测数据集经过用于训练的相同的一组特征工程步骤。这使得完全包含、可移植和可序列化的管道可以导出并满足独立需求,而无需手动应用功能工程任务。下面的代码提供了一个运行推断的片段。使用MLflow运行ID当您在AutoML运行中使用MLFlow时,只需使用MLFlow run ID(和MLFlow config)即可运行推断,如下面的代码片段所示。val bestMlFlowRunId=runner.bestMlFlowRunId("XGBoost")val bestPipelineModel=PiPelineModelInfinition.getPipelineModelByMlFlowRunId(最佳流RunID,xgBoostConfig.loggingConfig)val推断DF=bestPipelineModel.transform(数据集有效)在单元输出中可以看到,AutoML管道API执行最初针对训练数据创建的所有阶段,现在应用于验证数据集。在本例中,下面是简化的pipeline API单元输出,显示了它执行的阶段。===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.Zipresister变压器日志==>阶段名称:ZipRegisterTempTransformer_a88351e04577总阶段执行时间:57毫秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.MlFlowLoggingValidationStageTransformer日志==>阶段名称:MlFlowLoggingValidationStageTransformer AEADD79DE9总阶段执行时间:233毫秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.CardinalityLimitColumnPrunerTransformer日志==>阶段名称:CardinalityLimitColumnPrunerTransformer_e8aede7e3f4d总阶段执行时间:1毫秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.DateFieldTransformer日志==>阶段名称:DateFieldTransformer_5ec5e2680828总阶段执行时间:7毫秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.DropColumnsTransformer日志==>艺名:DropColumnsTransformer C7895F19总阶段执行时间:4毫秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.columnName转换器日志==>阶段名称:列名变压器_d727a713897e总阶段执行时间:3毫秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.DropColumnsTransformer日志==>艺名:DropColumnsTransformer_a3160a31ec07总阶段执行时间:3毫秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.DataSanitizer变压器日志==>阶段名称:DataSanitizerTransformer_a9866eaba0de总阶段执行时间:1.79秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.VarianceFilter变压器日志==>阶段名称:VarianceFilterTransformer_63da1ccb67fe总阶段执行时间:4毫秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.DropColumnsTransformer日志==>艺名:DropColumnsTransformer_d239d19c60e6总阶段执行时间:12毫秒...===AutoML管道阶段:类com.databricks.labs网站.automl.pipeline.DropColumnsTransformer日志==>艺名:DropColumnsTransformer beee总阶段执行时间:5毫秒...最佳流水线型号:org.apache.spark网站.ml.管道模型=最终_linted_推断_管道_25618e0d3e91推断DF:org.apache.spark网站.sql.DataFrame=[术语:字符串,家庭所有权:字符串。。。20多个字段]如前一个代码片段(展开查看)中所述,Pipeline API生成的推断数据帧inferredDf包含验证数据集,包括计算的预测(如下面的屏幕截图所示)。可以看出,只需要MLflow Run ID来获取管道并运行推断。这是因为管道api在内部将所有工件记录到MLflow项目中的一个实验下的运行。关于使用AutoML工具箱的FamilyRunner管道API简化和自动化贷款违约预测的笔记本进一步演示了添加到MLflow运行中的所有标记。使用PipelineModel手动保存和加载AutoML管道即使未启用MLflow,PipelineModel也提供了在自定义路径下手动保存这些管道模型的灵活性。//保存它val pipelinePath="tmp/predict-pipeline-lg-1"runner.bestPipelineModel("逻辑回归")。写入.覆盖().save(管道路径)//加载它val管道模型=PipelineModel.load(管道路径)val推断DF=pipelineModel.transform(数据集有效)用流水线API简化特征工程除了完整的推理管道之外,FamilyRunner还公开了一个API,以便只运行特性工程步骤,而不执行特性选择或计算特性重要性。它接受AutoML的主配置对象并将其转换为管道。这对于分析特征工程数据集非常有用,而不必手动应用Pearson过滤器、协方差、离群值过滤器、基数限制等等。它支持模型的使用,模型还不是AutoML工具箱的一部分,但是仍然利用AutoML的高级功能工程阶段。val featureEngPipelineModel=FamilyRunner(datasetTrain,Array(xgBoostConfig,logisticRegressionConfig)).generateFeatureEngineeredPipeline(verbose=true)("XGBoost")val featuredData=有限元分析TurengPipelineModel.transform(数据集)显示(功能数据)讨论使用Family Runner API,您可以同时运行多个模型类型,以在多个模型之间找到最佳模型及其超参数。使用AutoML Toolkit的0.6.1版,我们已升级到MLflow 1.3.0,并引入了一个新的管道API,显著简化了特征生成和推理。现在就试试AutoML工具箱和使用AutoML工具箱的FamilyRunner Pipeline API来简化贷款风险分析笔记本! 贡献我们要感谢肖恩·欧文、本·威尔逊、布鲁克·韦尼格和姆拉登科瓦切维奇对本博客的贡献。免费试用Databricks。今天就开始吧