【发布时间】:2017-08-06 19:12:45
【问题描述】:
我正在使用包含所有值的有序字典(来自 OOB 估计的 n_estimators 和错误率,as shown here。
我想首先在字典中获取错误率最低的值。
例如,您可以在下面看到 222 的错误率最高。
OrderedDict([('RandomForest_AWA_Fp1, max_features=7',
[(220, 0.10833333333333328),
(221, 0.10833333333333328),
(222, 0.10952380952380958),
(223, 0.10833333333333328)])
])
我想按以下顺序对字典进行排序:220、221、223、222(按值降序排列)
我试过了:
OrderedDict(sorted(error_rate.items(), key=lambda t: min(t[0])))
但我看不出有什么不同。
我得到的错误:
File "<ipython-input-85-0592e683c6a9>", line 3
pp(dict(OrderedDict(sorted([(k, sorted(v, key=min)) for k, v in d.items()], key=lambda(k, v): min(v)))))
^
SyntaxError: invalid syntax
【问题讨论】:
-
您能否通过一个清晰简单的示例(例如 3 项)来阐明输入和预期输出的样子?
-
您是否尝试按值排序?如果是这样,请检查:Sort a Python dictionary by value
标签: python scikit-learn