如何绘制我想按值排序的字典?
How to plot a dictionary that I want to sort by values?
我有以下字典,model_dict
:
zip_iterator = zip(classifier_names, model_scores)
model_dict = dict(zip_iterator)
model_dict
{'AdaBoostClassifier()': 0.8101063257934118,
'DecisionTreeClassifier()': 0.7317264413290904,
'GradientBoostingClassifier()': 0.8080247842665061,
'KNeighborsClassifier()': 0.7572879934634902,
'RandomForestClassifier()': 0.7962904231530059,
'SVC()': 0.8025361228175797}
我如何绘制这本字典,在 x 轴上显示算法,在 y 轴上根据分数从最低到最高显示分数,并将 x-ticks 作为相应的算法?
前景应该是这样的,但是算法从低到高排序:
我使用以下非常简单的代码来创建情节:
plt.plot(classifier_names, model_scores)
plt.xlabel('Classifier Algorithms')
plt.xticks(classifier_names, rotation=45)
plt.ylabel('Cross-Validated Accuracy')
降序排列(从大到大):
sorted_dict_descending = dict(sorted(model_dict.items(),key=lambda x:x[1], reverse=True))
升序排序(从小到大):
sorted_dict_ascending = dict(sorted(model_dict.items(),key=lambda x:x[1]))
我好像无法标记为重复,但可以找到另一个答案here。对降序的单行理解(从大到大):
sorted_dict = {k: v for k, v in sorted(model_dict.items(), key=lambda item: item[1], reverse=True)}
以及对升序的单行理解(从小到大):
sorted_dict = {k: v for k, v in sorted(model_dict.items(), key=lambda item: item[1])}
我有以下字典,model_dict
:
zip_iterator = zip(classifier_names, model_scores)
model_dict = dict(zip_iterator)
model_dict
{'AdaBoostClassifier()': 0.8101063257934118,
'DecisionTreeClassifier()': 0.7317264413290904,
'GradientBoostingClassifier()': 0.8080247842665061,
'KNeighborsClassifier()': 0.7572879934634902,
'RandomForestClassifier()': 0.7962904231530059,
'SVC()': 0.8025361228175797}
我如何绘制这本字典,在 x 轴上显示算法,在 y 轴上根据分数从最低到最高显示分数,并将 x-ticks 作为相应的算法?
前景应该是这样的,但是算法从低到高排序:
我使用以下非常简单的代码来创建情节:
plt.plot(classifier_names, model_scores)
plt.xlabel('Classifier Algorithms')
plt.xticks(classifier_names, rotation=45)
plt.ylabel('Cross-Validated Accuracy')
降序排列(从大到大):
sorted_dict_descending = dict(sorted(model_dict.items(),key=lambda x:x[1], reverse=True))
升序排序(从小到大):
sorted_dict_ascending = dict(sorted(model_dict.items(),key=lambda x:x[1]))
我好像无法标记为重复,但可以找到另一个答案here。对降序的单行理解(从大到大):
sorted_dict = {k: v for k, v in sorted(model_dict.items(), key=lambda item: item[1], reverse=True)}
以及对升序的单行理解(从小到大):
sorted_dict = {k: v for k, v in sorted(model_dict.items(), key=lambda item: item[1])}