经典Azure ML找不到Create Python Model模块如何自定义SGDClassifier模型
经典Azure ML自定义SKLearn模型实现方案
模块找不到的原因
你查询的Create Python Model模块属于新版Azure ML设计器的专属功能,经典Azure ML平台没有上线该独立模块,无需继续搜索。
自定义SGDClassifier实现步骤
经典Azure ML默认预装了scikit-learn库,你可以通过**执行Python脚本(Execute Python Script)**模块完成模型训练、预测全流程:
1. 训练模型
- 拖入1个「执行Python脚本」模块到实验画布,将训练数据集连接到该模块的第一个输入端口
- 替换模块内置代码为以下内容,可根据你的业务需求调整SGDClassifier参数:
import pandas as pd from sklearn.linear_model import SGDClassifier import pickle def azureml_main(dataframe1 = None, dataframe2 = None): # 拆分训练特征和标签,此处默认数据集最后一列为标签列,可根据实际格式调整 train_features = dataframe1.iloc[:, :-1] train_label = dataframe1.iloc[:, -1] # 初始化SGD分类器 model = SGDClassifier(loss='log_loss', random_state=42) model.fit(train_features, train_label) # 序列化模型返回 return pd.DataFrame([pickle.dumps(model)]),
- 运行该模块即可完成SGDClassifier模型训练,模块的第一个输出端口即为训练好的序列化模型。
2. 模型预测
- 拖入1个新的「执行Python脚本」模块到实验画布,将测试数据集连接到该模块的第一个输入端口,将上一步输出的序列化模型连接到第二个输入端口
- 替换模块内置代码为以下内容:
import pandas as pd import pickle def azureml_main(dataframe1 = None, dataframe2 = None): # 加载训练好的模型 model = pickle.loads(dataframe2.iloc[0, 0]) # 执行预测 pred_result = model.predict(dataframe1) # 合并预测结果与测试数据集返回 output_df = dataframe1.copy() output_df['prediction'] = pred_result return output_df,
- 运行后模块的第一个输出端口即为带预测结果的完整数据集。
注意事项
- 如果你实际使用的是新版Azure ML设计器,搜索不到模块时可清空搜索框重新输入完整名称
Create Python Model,确认搜索范围为所有模块即可找到。 - 经典Azure ML的Python运行环境默认支持scikit-learn全量内置算法,无需额外上传依赖包。
内容的提问来源于stack exchange,提问作者18127180
相关产品推荐
相关产品推荐

