如何找到功能对逻辑回归模型的重要性?
machine-learning
python
scikit-learn
5
0

我有一个通过逻辑回归算法训练的二进制预测模型。我想知道哪些特征(预测变量)对于决定正面或负面的等级更为重要。我知道有coef_参数来自scikit-learn包,但我不知道它是否足以满足要求。另一件事是我如何根据否定和肯定类的重要性评估coef_值。我还阅读了有关标准化回归系数的信息,但我不知道它是什么。

可以说,存在诸如肿瘤大小,肿瘤重量等特征来决定是否为恶性或恶性测试病例。我想知道哪些特征对恶性而非恶性预测更重要。有道理吗?

参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

在线性分类模型中(逻辑上就是其中之一),可以感觉到给定参数的“影响力”的最简单选择之一就是考虑其系数的大小乘以数据中相应参数的标准偏差。 。

考虑以下示例:

import numpy as np    
from sklearn.linear_model import LogisticRegression

x1 = np.random.randn(100)
x2 = 4*np.random.randn(100)
x3 = 0.5*np.random.randn(100)
y = (3 + x1 + x2 + x3 + 0.2*np.random.randn()) > 0
X = np.column_stack([x1, x2, x3])

m = LogisticRegression()
m.fit(X, y)

# The estimated coefficients will all be around 1:
print(m.coef_)

# Those values, however, will show that the second parameter
# is more influential
print(np.std(X, 0)*m.coef_)

获得类似结果的另一种方法是检查模型的系数是否适合标准化参数:

m.fit(X / np.std(X, 0), y)
print(m.coef_)

请注意,这是最基本的方法,并且存在许多其他寻找特征重要性或参数影响的技术(使用p值,自举分数,各种“判别指标”等)。

我很确定您会在https://stats.stackexchange.com/上获得更多有趣的答案。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号