如何找出特征对logistic回归模型的重要性?

2024-05-12 23:35:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个二元预测模型训练的逻辑回归算法。我想知道哪些特征(预测器)对决定积极类还是消极类更重要。我知道有coef_参数来自scikit learn包,但我不知道它是否足够重要。另一件事是如何根据负类和正类的重要性来计算coef_值。我也读过标准回归系数,我不知道它是什么。

假设有肿瘤大小、肿瘤重量等特征来决定一个测试用例是否恶性。我想知道哪些特征对恶性预测和非恶性预测更重要。有什么意义吗?


Tags: 模型算法参数特征逻辑scikitlearn重要性
1条回答
网友
1楼 · 发布于 2024-05-12 23:35:16

在线性分类模型(logistic就是其中之一)中,感受给定参数的“影响”最简单的方法之一是考虑其系数的大小乘以数据中相应参数的标准差。

举个例子:

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值、bootstrap分数、各种“判别指数”等)。

我很肯定你会在https://stats.stackexchange.com/得到更多有趣的答案。

相关问题 更多 >