在大模型训练中,特征重要性评估是特征工程的关键环节。本文分享几种实用的特征重要性评估方法。
1. 基于模型的特征重要性 使用随机森林或梯度提升树等算法,可以直接获取特征重要性分数。以sklearn为例:
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=1000, n_features=20, random_state=42)
rf = RandomForestClassifier(n_estimators=100, random_state=42)
rf.fit(X, y)
importance_scores = rf.feature_importances_
print(importance_scores)
2. 递归特征消除(RFE) 通过逐步移除最不重要的特征来评估重要性:
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
estimator = LogisticRegression()
rfe = RFE(estimator, n_features_to_select=10)
rfe.fit(X, y)
print(rfe.support_)
3. permutation importance 通过打乱特征值来观察模型性能变化,该方法对模型无关且可复现。
from sklearn.inspection import permutation_importance
perm_importance = permutation_importance(rf, X, y, n_repeats=10, random_state=42)
print(perm_importance.importances_mean)
这些方法在数据清洗和特征选择阶段都能发挥重要作用,建议结合使用以获得更稳健的评估结果。

讨论