sklearn 逻辑回归中的特征选择

Posted

技术标签:

【中文标题】sklearn 逻辑回归中的特征选择【英文标题】:Feature selection from sklearn logisitc regression 【发布时间】:2018-02-27 09:13:24 【问题描述】:

我使用 sklearn 逻辑回归模型为文本创建了一个二元分类模型。现在我想选择用于模型的特征。我的代码看起来像这样-

train, val, y_train, y_test = train_test_split(np.arange(data.shape[0]), lab, test_size=0.2, random_state=0)
X_train = data[train]
X_test = data[val]

#X_train, X_test, y_train, y_test = train_test_split(data, lab, test_size=0.2)
tfidf_vect = TfidfVectorizer(analyzer='word', ngram_range=(1,3), min_df = 0, stop_words = 'english')
X_tfidf_train = tfidf_vect.fit_transform(X_train)
X_tfidf_test = tfidf_vect.transform(X_test)
clf_lr = LogisticRegression(penalty='l1')
clf_lr.fit(X_tfidf_train, y_train)
feature_names = tfidf_vect.get_feature_names()
print len(feature_names)
y_pred_lr = clf_lr.predict_proba(X_tfidf_test)[:, 1]

最好的方法是什么。

【问题讨论】:

【参考方案1】:

你可以使用 sklearn.feature_selection

这是一个如何使用它的链接 http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.RFE.html#sklearn.feature_selection.RFE

【讨论】:

它会提供与构建逻辑回归模型相同的功能 嗯,通常它用于预测哪些特征得分高,然后我们消除其他特征。您可以使用此信息创建数据集的过滤版本并提高模型的准确性。跨度>

以上是关于sklearn 逻辑回归中的特征选择的主要内容,如果未能解决你的问题,请参考以下文章

解释 sklearn 中的逻辑回归特征系数值

逻辑回归推导

sklearn 逻辑回归中的特征

在 sklearn 逻辑回归中使用分类数据作为特征

逻辑回归特征选择

使用逻辑回归进行特征选择