美文网首页
sklearn做特征选择

sklearn做特征选择

作者: 生信编程日常 | 来源:发表于2020-10-09 19:59 被阅读0次

特征选择可以对样本集做特征选择/降维,既可以提高估计器的准确率,又可以提高估计器在超高维数据集上的性能。

1.SelectKBest

SelectKBest是单变量特征选择的一个方法,快速简单。它通过选择基于单变量统计检验(univariate statistical tests)得出的最优特征来实现的。SelectKBest 会选择得分最高的K个特征,并其余的特征都删除。

ps. 需要注意的是,只对train data特征选择就好,因为真实数据我们是不知道test data的情况的。

feature_cols = baseline_data.columns.drop('outcome')
train, valid, _ = get_data_splits(baseline_data)

# Keep 5 features
selector = SelectKBest(f_classif, k=5)

X_new = selector.fit_transform(train[feature_cols], train['outcome'])

# fit_transform只会返回被选择的前5个特征


# inverse_transform会返回原始数据
selected_features = pd.DataFrame(selector.inverse_transform(X_new), 
                                 index=train.index, 
                                 columns=feature_cols)
selected_features.head()

# 返回选择的特征
selected_columns = selected_features.columns[selected_features.var() != 0]
valid[selected_columns].head()
2. SelectFromModel

以下是使用例子,基于L1正则化的特征提取:

from sklearn.linear_model import LogisticRegression
from sklearn.feature_selection import SelectFromModel

train, valid, _ = get_data_splits(baseline_data)

X, y = train[train.columns.drop("outcome")], train['outcome']

# Set the regularization parameter C=1
logistic = LogisticRegression(C=1, penalty="l1", solver='liblinear', random_state=7).fit(X, y)
model = SelectFromModel(logistic, prefit=True)

X_new = model.transform(X)

相关文章

  • sklearn做特征选择

    特征选择可以对样本集做特征选择/降维,既可以提高估计器的准确率,又可以提高估计器在超高维数据集上的性能。 1.Se...

  • 使用sklearn做特征选择

    上一篇有说到特征工程的一些工具使用,但是我们要知道,并不是我们处理完全部我们能够想到的特征后,扔进model就可以...

  • 使用sklearn做单机特征工程

    使用sklearn做单机特征工程 | 转载 使用sklearn做单机特征工程 目录1 特征工程是什么?2 数据预处...

  • 4. 机器学习之特征选择-Python代码

    1. 特征选择------sklearn代码 1.1 特征选择------方差法 忽略warning错误 运行结...

  • 2019-01-07特征工程文章

    使用sklearn优雅地进行数据挖掘 使用sklearn做单机特征工程 特征工程到底是什么? Kaggle入门,看...

  • sklearn中的特征选择方法

    sklearn.feature_selection中提供了丰富的特征选择方法,包括单变量选择和递归的特征消除方法。...

  • 2018-04-03-机器学习相关

    No.1 特征工程 (1)使用sklearn做单机特征工程 - jasonfreak - 博客园 (2)特征工程实...

  • sklearn学习 — 特征抽取

    特征抽取 sklearn库提供了特征抽取模块 sklearn.feature_extraction 对数据进行特征...

  • [转载]特征工程

    kaggle-feature-engineering 使用sklearn做特征工程 1. 什么是特征工程? 2. ...

  • scikit-learn特征工程

    字典数据特征抽取 sklearn的DictVectorizer可以对字典做特征抽取,并以onehot形式编码。 有...

网友评论

      本文标题:sklearn做特征选择

      本文链接:https://www.haomeiwen.com/subject/lxnlpktx.html