我是靠谱客的博主 优美画板,最近开发中收集的这篇文章主要介绍分词之后的如何做特征选择_机器学习特征选择方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

特征选择概况:

特征选择就是完成一个自动选择对于预测问题最相关特征的系统。通常又可被称为变量选择或属性选择。

特征选择与降温方法的不同在于特征选择是筛选特征而降维是组合多个特征形成新的特征。常用的特征选择方法有SVD和PCA。

特征选择在数据科学问题项目中会出现在特征生成之后。特征生成是从原始问题提供的数据中获得特征。关于不同数据类型(问题类型)可以进行不同的特征生成。见下表。

特征选择用来筛选掉不相关的特征,或者冗余的特征。在Udacity

MLND项目3划分消费者项目中。首先我们可以预估某些特征与其他特征有特定关系,所以特征中可能有冗余。如果我们发现去掉某些特征后,其他特征可以预测这些特征,那这些特征的确是冗余。这时特征选择可以帮助我们选择更关键的信息,这样可以降低模型复杂度,得到更简单的模型,计算更快,模型也更容易理解。

特征选择的算法:

1. Filter methods

该方法的思想是对每一个特征计算一个分数。然后根据分数的高低来判断该分数是被保留或移除。这个方法每次一般只考虑单一及独立特征。

2. Wrapper methods

该方法的思想是把特征的组合作为一个搜索问题。在这个搜索问题上,不同特征的组合通过模型预测准确度被评分及和其他组合比较。在这里,处理搜索问题可以是best-first-search这种顺序的搜索,也可以是像random hill-climbing这种随机搜索。或者是利用heuristics,向前遍历或向后遍历去添加或移除特征。

3. Embedded methods

该方法学习哪种特征对模型准确度有最佳贡献。最常用的利用该思想的方法是regularization methods。该类方法在预测问题中引入了额外限制条件使得模型在生成时偏向低复杂度。

特征选择在自然语言处理NLP中的应用:

在自然语言处理中,特征选择的用法是选择一部分词来作为训练集并且只用这部分词作为特征对文档进行分类。特征选择有两个主要目的。1.

通过减小词的数量,我们可以更高效的训练并使用一个分类器。2.

特征选择可以提高分类准确度,因为很多情况下,筛选掉冗余或不相关的特征减小了噪声的影响。比如说在我们的文档集中,一片科幻文章中,出现了很多”法拉利”词,而这个文章是科幻文。如果我们不把”法拉利”这个特征筛选掉,那可能分类器会判断所有出现“法拉利”的文章都是科幻文。这种错误分类就是过度拟合的问题,特征选择可以帮助处理这种问题。我们可以把特征选择看做用简单模型替代复杂模型的方法。可能这看上去比较违反直觉。但通常如果数据量是有限情况下,那么简单的模型更稳定健壮,避免过拟合。

特征选择在sklearn中的实现:

Recursive Feature Elimination

Recursive Feature Elimination(RFE) 是一个特征选择方法,他通过不断递归地移除特征并在留下特征上重新建立模型的方法来优化模型。下面的代码展示了RFE应用在Iris floweres 数据集上选择3个特征。

# Recursive Feature Elimination

from sklearn import datasets

from sklearn.feature_selection import RFE

from sklearn.linear_model import LogisticRegression

# load the iris datasets

dataset = datasets.load_iris()

# create a base classifier used to evaluate a subset of attributes

model = LogisticRegression()

# create the RFE model and select 3 attributes

rfe = RFE(model, 3)

rfe = rfe.fit(dataset.data, dataset.target)

# summarize the selection of the attributes

print(rfe.support_)

print(rfe.ranking_)

Feature Importance

而决策树里的ensemble 方法也可以用来计算特征的相关重要性。这个重要性可以被用于特征选择过程。下面的代码展示了实现Iris floweres数据集上的Extra trees ensemble,以及相关重要性的展示。

# Feature Importance

from sklearn import datasets

from sklearn import metrics

from sklearn.ensemble import ExtraTreesClassifier

# load the iris datasets

dataset = datasets.load_iris()

# fit an Extra Trees model to the data

model = ExtraTreesClassifier()

model.fit(dataset.data, dataset.target)

# display the relative importance of each attribute

print(model.feature_importances_)

最后

以上就是优美画板为你收集整理的分词之后的如何做特征选择_机器学习特征选择方法的全部内容,希望文章能够帮你解决分词之后的如何做特征选择_机器学习特征选择方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部