【问题标题】:Feature selection from sklearn logisitc regressionsklearn 逻辑回归中的特征选择
【发布时间】: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]

最好的方法是什么。

【问题讨论】:

    标签: python scikit-learn logistic-regression feature-selection sklearn-pandas


    【解决方案1】:

    你可以使用 sklearn.feature_selection

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

    【讨论】:

    • 它会提供与构建逻辑回归模型相同的功能
    • 嗯,通常它用于预测哪些特征得分高,然后我们消除其他特征。您可以使用此信息创建数据集的过滤版本并提高模型的准确性。跨度>
    猜你喜欢
    • 2014-01-19
    • 2021-06-10
    • 2014-08-06
    • 2017-12-07
    • 2016-01-25
    • 2018-12-03
    • 2021-06-19
    • 1970-01-01
    • 2016-05-15
    相关资源
    最近更新 更多