我有以下几行代码:
param0 = {
'max_depth': 3,
'eta': 0.075,
'objective': 'binary:logistic',
'min_child_weight': 5,
'silent': 1,
'eval_matric': "auc",
'subsample': 0.6,
'gamma': 0.5,
}
其中定义了一个pythons字典(对于ml模型,如果它感兴趣的话)。我想知道从外包文件创建这个param0
字典参数的最优雅方式(也很简单)。 (即从xml文件,json文件或只是我可以在程序外配置的简单文本文件)。
答案 0 :(得分:2)
优雅是主观的,但从实用性的角度来看,您将其存储/加载为JSON数据,假设您的字典除了列表中的列表,字符串和字符串之外不包含其他python对象。
config.json
{
"max_depth": 3,
"eta": 0.075,
"objective": "binary:logistic",
"min_child_weight": 5,
"silent": 1,
"eval_matric": "auc",
"subsample": 0.6,
"gamma": 0.5,
}
请注意,JSON spec要求字符串由双引号分隔(单引号不要飞)。保留JSON的语法,并在创建/编辑文件时考虑数据类型。
使用python' config.json
模块阅读json
的代码。
import json
with open('config.json') as f:
param0 = json.load(f)