gpt4 book ai didi

matplotlib - 如何在jupyter中解释和查看完整的排列特征图?

转载 作者:行者123 更新时间:2023-11-30 08:44:57 25 4
gpt4 key购买 nike

我正在尝试通过排列特征重要性图生成特征重要性图。我试图确保通过不同方法返回的功能是否稳定。选择最佳特征。我们能否获得一个 p 值或类似的值来表明该特征是重要的?如果我能用 PFI 做到这一点,我会更有信心,但看起来结果完全相反

这是我生成绘图的代码

logreg=LogisticRegression(random_state=1) # i also tried with Random Forest
logreg.fit(X_train_std,y_train)
perm = PermutationImportance(logreg,random_state=1).fit(X_train_std,y_train)
eli5.show_weights(perm) #find the issue with plot below

问题

1)我在顶部看到的功能在其他方法中并不重要(卡方、Xgboost 功能重要性、Logistic 回归统计模型摘要等),但在这里我在顶部看到它,这让我有点震惊。是按降序还是升序排列?

2) 我了解 PFI 随机化值以查看模型误差的减少。如果第一行 (X18) 是一个重要功能,那么它与我的其他方法完全相反。我在这里犯了什么错误吗?在这种情况下我应该查看/检查什么?或者我应该仅在已选择的重要功能上应用 PFI

3)如何使 jupyter 单元格显示到所有行。目前它不显示剩余的 35 行,如下所示。我已经设置了 pandas_set 列宽、行等

enter image description here

你能帮我解决这个问题吗?

最佳答案

使用属性top= 解决问题 3,如 eli5.show_weights(perm,top=100) 。更多内容请参见docs .

对于问题1和2,我也遇到过类似的情况。据我所知,不同的方法确实有不同的输出。每种方法都有自己的标准。对于 TREE 方法,例如 DecisionTree , xgboost , catboost , GBRT等等,在构建树的过程中。某个功能使用得越多,它就变得越重要。但其他方法则不然。

关于matplotlib - 如何在jupyter中解释和查看完整的排列特征图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59390688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com