我明天要向项目负责人展示这个,所以时间有点紧。我们是一群在德国的经济学学生,正在尝试学习使用Python进行机器学习。我们设置了一个随机森林分类器,并且急切地想要以一个整洁的图表展示估计器的重要特征。通过谷歌搜索,我们找到了以下解决方案,虽然它能解决问题,但由于y轴上的标签重叠,我们并不满意。我们使用的代码如下:
feature_importances = clf.best_estimator_.feature_importances_feature_importances = 100 * (feature_importances / feature_importances.max())sorted_idx = np.argsort(feature_importances)pos = np.arange(sorted_idx.shape[0])plt.barh(pos, feature_importances[sorted_idx], align='center', height=0.8)plt.yticks(pos, df_year_four.columns[sorted_idx])plt.show()
出于隐私考虑,让我说一下:y轴上的特征名称重叠了(大约有30个)。我查看了matplotlib的文档,试图自己解决这个问题,但不幸的是我没找到什么有用的信息。看起来训练和测试模型比理解matplotlib和创建图表要容易得多 😀
非常感谢您的帮助和花费的时间,我非常感激。
回答:
我看到了你的解决方案,我想在这里添加这个链接来解释原因:如何在matplotlib中更改刻度之间的间距?
刻度标签之间的间距完全由轴上的刻度间距决定。因此,唯一能让给定刻度标签之间有更多空间的方法是使轴更大。
我链接的问题显示,通过使图表足够大,你的轴标签自然会间隔更好。