将分类器特征重要性的最大值传递给 Bokeh 图中的 x_range

Pass the maximum value to x_range in Bokeh plot from a classifier feature importance

我不想在绘图时在散景中手动设置x范围,而是想传递一列的最大值,例如不是将最大值设置为10,而是某列的最大值

p1 = figure(x_range=(0, 10))

rf_important是分类器的特征重要性,定义为

rf_important = pd.Series(new_rf.feature_importances_, index=x.columns)

另外,rf是pandas.core.series.Series

我想从 rf_importance

中获取第一列的最大值
rf.idmax

以上 return 是特征重要性中的最大值,而不是列中的最大值。我怎样才能访问列和 return 从那里的最大值?

max(list) 会 return 你得到列表中的最大值。

list = [1, 2, 3, 4, 5]
print(max(list))

然后你只需要将它作为最大值传递给 Bokeh。

编辑: 也许这有帮助:Find maximum value of a column and return the corresponding row values using Pandas

问题是上面的变量 'rf' 是 pandas.core.series.Series 的类型,因此我无法直接使用最大值访问它。此外,'rf' 显示了分类器的 feature_importance 而不是列中的值,这就是为什么使用以下代码访问它会返回字母而不是最大值在专栏

max(rf.index[0])

因此,要访问分类器 feature_importance 中的最大值,最常调用原始 DataFrame 中的值使用 特征重要性 作为索引。比如

df[rf.index[0]].max()