Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,如何按值降序排序有序字典?_Python_Scikit Learn - Fatal编程技术网

在python中,如何按值降序排序有序字典?

在python中,如何按值降序排序有序字典?,python,scikit-learn,Python,Scikit Learn,我使用的是一个有序字典,它包含所有的值(n_估计值和OOB估计的错误率) 我希望首先在字典中获得错误率最低的值 例如,下面您可以看到222的错误率最高 OrderedDict([('RandomForest_AWA_Fp1, max_features=7', [(220, 0.10833333333333328), (221, 0.10833333333333328), (222, 0.10952380952380958), (223, 0.1083

我使用的是一个有序字典,它包含所有的值(n_估计值和OOB估计的错误率)

我希望首先在字典中获得错误率最低的值

例如,下面您可以看到222的错误率最高

OrderedDict([('RandomForest_AWA_Fp1, max_features=7', 
    [(220, 0.10833333333333328), 
     (221, 0.10833333333333328), 
     (222, 0.10952380952380958), 
     (223, 0.10833333333333328)])
])
我想按以下顺序对这本词典进行排序:220221223222(按值降序排列)

我试过:

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行
pp(dict(OrderedDict(sorted([(k,sorted(v,key=min))表示d.items()中的k,v,key=lambda(k,v):min(vеее)
^
SyntaxError:无效语法

您的词典是由一个项目组成的,因此我不确定您是否也想对其进行排序。不过,您的链接问题似乎就是这样

由于您提到的
222
具有最高的错误值,我认为您还希望对列表中的值进行排序

>>> from pprint import pprint as pp
>>> d = OrderedDict([('RandomForest_AWA_Fp1, max_features=7', [(220, 0.10833333333333328), (221, 0.10833333333333328), (222, 0.10952380952380958), (223, 0.10833333333333328)])])
>>> pp(OrderedDict(sorted([(k, sorted(v, key=min)) for k, v in d.items()], key=lambda(k, v): min(v))))
OrderedDict([('RandomForest_AWA_Fp1, max_features=7', [(220, 0.10833333333333328), (221, 0.10833333333333328), (223, 0.10833333333333328), (222, 0.10952380952380958)])]{'RandomForest_AWA_Fp1, max_features=7': [(220, 0.10833333333333328),
                                                  (221, 0.10833333333333328),
                                                  (223, 0.10833333333333328),
                                                  (222, 0.10952380952380958)]}

您能否通过给出一个清晰简单的示例(例如,3项)来澄清输入和预期输出是什么样子的?您是否尝试按值排序?如果是这样,请检查:我得到一个错误文件“”,第3行pp(dict(OrderedDict(sorted([(k,sorted(v,key=min)),对于d.items()中的k,v,key=lambda(k,v):min(v∗?ͬͬͬ)^SyntaxError:无效syntax@Aizzaac这很好!你能检查一下复制/粘贴之间是否遗漏了大括号吗?