gpt4 book ai didi

python - sklearn 逻辑回归 - 重要特征

转载 作者:太空狗 更新时间:2023-10-29 18:27:54 26 4
gpt4 key购买 nike

我很确定以前有人问过这个问题,但我找不到答案

在 python 上使用 sklearn 运行逻辑回归,我能够转换使用 Transform 方法将我的数据集转换为最重要的特征

classf = linear_model.LogisticRegression()
func = classf.fit(Xtrain, ytrain)
reduced_train = func.transform(Xtrain)

我如何判断哪些功能被选为最重要的?更一般地说,如何计算数据集中每个特征的 p 值?

最佳答案

正如上面评论中所建议的,您可以(并且应该)在拟合之前缩放数据,从而使系数具有可比性。下面是一些代码来展示它是如何工作的。我关注this格式进行比较。

import numpy as np    
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
import pandas as pd
import matplotlib.pyplot as plt

x1 = np.random.randn(100)
x2 = np.random.randn(100)
x3 = np.random.randn(100)

#Make difference in feature dependance
y = (3 + x1 + 2*x2 + 5*x3 + 0.2*np.random.randn()) > 0

X = pd.DataFrame({'x1':x1,'x2':x2,'x3':x3})

#Scale your data
scaler = StandardScaler()
scaler.fit(X)
X_scaled = pd.DataFrame(scaler.transform(X),columns = X.columns)

clf = LogisticRegression(random_state = 0)
clf.fit(X_scaled, y)

feature_importance = abs(clf.coef_[0])
feature_importance = 100.0 * (feature_importance / feature_importance.max())
sorted_idx = np.argsort(feature_importance)
pos = np.arange(sorted_idx.shape[0]) + .5

featfig = plt.figure()
featax = featfig.add_subplot(1, 1, 1)
featax.barh(pos, feature_importance[sorted_idx], align='center')
featax.set_yticks(pos)
featax.set_yticklabels(np.array(X.columns)[sorted_idx], fontsize=8)
featax.set_xlabel('Relative Feature Importance')

plt.tight_layout()
plt.show()

关于python - sklearn 逻辑回归 - 重要特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24255723/

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