【发布时间】:2023-01-14 08:48:47
【问题描述】:
我正在尝试找到 a 的特征重要性逻辑回归模型和返回的重要性分值比预期高太多。预计分数在个位数范围内,但得到了6位数。
这是我的模型的详细信息。
数据高度不平衡,因此对少数类使用随机过采样。
oversample = RandomOverSampler(sampling_strategy='minority')
Xo_train, yo_train = oversample.fit_sample(X_train, y_train)
标准化 Xo_train:
norm = preprocessing.Normalizer()
Xo_train_norm = norm.fit_transform(Xo_train)
在超参数上使用 Logistic 回归和网格搜索:
params_LogReg = {}
params_LogReg['solver'] = ['lbfgs', 'newton-cg', 'ga']
params_LogReg['penalty'] = ['none', 'l2']
params_LogReg['C'] = [0.05, 0.1, 0.5]
model_LogReg = LogisticRegression()
search = RandomizedSearchCV(model_LogReg, params_LogReg, n_iter = 10, scoring = 'recall_weighted', n_jobs = -1)
tuned_LogReg = search.fit(Xo_train_norm, yo_train)
拟合后得到以下参数:
LogisticRegression(C=0.1, penalty='none', solver='newton-cg')
计算特征重要性如下:
importance = tuned_LogReg.best_estimator_.coef_[0]
我为这些功能获得的 3 个最高分如下,并以相同的模式休息:
| Feature | Importance Score |
|:----------- | ----------------:|
|NWK_CNT_bins | 560178.044 |
|PAID_AMT_bins | 467168.967 |
|Grad_Rate_bins| 443438.490 |
'*_bins' 是连续的列,分为 4 个 bin。
没想到重要性分数是 6 位数。正常吗?或者我在计算中遗漏了什么?非常感谢任何见解。谢谢你。
【问题讨论】:
标签: python logistic-regression feature-selection grid-search