我有一個通過邏輯迴歸算法訓練的二元預測模型。我想知道哪些特徵(預測指標)對於正面或負面的課堂決策更重要。我知道有coef_
參數來自scikit-learn軟件包,但我不知道它是否足夠重要。另一件事是我如何根據負面和正面類別的重要性來評估價值。我還讀了標準化迴歸係數,我不知道它是什麼。如何找到邏輯迴歸模型的特徵的重要性?
可以說有腫瘤的大小,腫瘤的重量等特徵來做出判定,如惡性或非惡性的測試案例。我想知道哪些特徵對於惡性而非惡性預測更重要。它有意義嗎?
我有一個通過邏輯迴歸算法訓練的二元預測模型。我想知道哪些特徵(預測指標)對於正面或負面的課堂決策更重要。我知道有coef_
參數來自scikit-learn軟件包,但我不知道它是否足夠重要。另一件事是我如何根據負面和正面類別的重要性來評估價值。我還讀了標準化迴歸係數,我不知道它是什麼。如何找到邏輯迴歸模型的特徵的重要性?
可以說有腫瘤的大小,腫瘤的重量等特徵來做出判定,如惡性或非惡性的測試案例。我想知道哪些特徵對於惡性而非惡性預測更重要。它有意義嗎?
在線性分類模型(邏輯是其中之一)中獲得給定參數「影響」的最簡單選項之一是考慮其係數的大小乘以相應的標準偏差數據中的參數。
考慮這個例子:
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/得到更有趣的答案。
謝謝你的解釋。還有一件事,m.coef_的意義是什麼?這是否意味着它對負面課堂的決定更具歧視性?對於積極的價值觀也是同樣的問題。 – mgokhanbakal
負係數意味着相應特徵的較高值將分類推向負類別。 –
謝謝你的補充說明。 – mgokhanbakal
您是否可以包含一個例子來使事情更加具體? – carlosdc
可以說有像腫瘤的大小,腫瘤的重量等特徵來做出像惡性或非惡性的測試案例的決定。我想知道哪些特徵對於惡性而非惡性預測更重要。它有意義嗎? – mgokhanbakal