Azure ML Designer中为何无法查看Train Model结果及特征重要性
提问正文
- 我运行了1000局自制桌游模拟器,生成了对应数据集;为推导最优获胜策略,我在采集的数据中记录了多个特征。
- 我将该数据集加载至Azure Machine Learning设计器的画布中,接入使用线性回归的训练流程。
- 我点击“Train Model”模块的“View Output”入口,顺着后续链接操作后仅找到9个文件,完全找不到类似“第9列是第1列的最佳预测因子”这类结果内容。
- 我仅看到无法读取的二进制iLearner文件、一份schema文件,还有大量记录运行所用conda版本、数据类型等信息的元文件。
- 请问该如何查看哪个特征最能预测我指定的标签?

补充说明:
- 我按照建议添加了Score Model和Evaluate Model模块。

- 我确实在Evaluate Model结果的可视化界面看到了一些误差指标,但Train Model模块仅提供“View Output”和“View Log”入口,没有可视化选项;我进入“View Output”后,仅看到大量类似
convert_to_dataset.yaml、boosted_decision_tree_regression.yaml的文件,还有一个名为trained model的目录,内部存放着data_type.json、score.py这类文件,全都是元数据,没有任何类似“第1列是X的最佳预测因子”这类的内容,我始终找不到能够说明哪个特征最能预测结果的信息。


解决方案
Azure Machine Learning 设计器的线性回归训练模块默认仅输出序列化后的模型文件,不会自动展示特征权重、特征重要性这类分析结果,你按下面的步骤操作就能拿到对应信息:
- 直接调用内置特征重要性模块,零代码出结果
从左侧模块检索栏找到Permutation Feature Importance模块,将Train Model输出的已训练模型、原始数据集的特征输入口分别接入该模块的两个输入端口,运行完成后点开模块的“View Output”,就能看到每个特征对目标标签的预测贡献得分,得分最高的就是你要找的最具预测力的特征。 - 手动解析线性回归的权重参数
线性回归对特征的预测能力判断,本质和每个特征对应的权重绝对值正相关。你可以在训练流程里加入Create Model Explainer模块,选择线性回归对应的解释器类型,运行后就能直接导出带特征名的权重值、重要性排序结果,不需要手动解析二进制iLearner文件。 - 复用缓存结果避免重复运行
你已经完成过的pipeline步骤会自动保存运行缓存,新增上述分析模块后不需要从头重跑全流程,系统会直接调用之前已经训练好的模型结果计算指标,能大幅节省运行时间。
你之前在Evaluate Model模块找不到相关内容是正常的:该模块仅输出模型整体的RMSE、R²这类全局误差指标,不会拆解单个特征的贡献度;Train Model模块输出的全是模型序列化文件,本身就不包含可视化的特征分析内容,和操作路径无关。
内容的提问来源于stack exchange,提问作者micahhoover
相关产品推荐
相关产品推荐

