如何选择和使用不同数据类型的功能?

时间:2015-04-06 18:49:43

标签: machine-learning scikit-learn

我是机器学习的新手,而且我有一些sci-kit分类器和#34;工作"在我的数据集中,我不确定我是否正确使用它们。我用手标记的训练集进行有监督的学习。

问题是:我的数据集中的每个项目都是一个大约的字典。 80个键,它们是文本,布尔或整数,我想用作功能。我有大约40,000件物品,手上贴有大约800件。我是否只想选择使用布尔功能,或仅选择整数?我是否需要规范化功能(删除均值+比例到单位方差)?我目前还没有尝试分析文本,所以甚至不值得将这些功能提供给分类器。仅尝试相同类型(int)的各种特征排列/组合是否愚蠢?也可能是因为我接近我的数据集完全错误......它的形状如下:

[[a,b,c,...],[a,b,c,...],[a,b,c,...],...]

基本上我希望实现的是对数据集中每个项目的二进制分类,基本上只是" Good"或者"坏"根据我手上的标签。我读到一些分类器在不同的数据类型上工作得更好,比如Bernoulli Naive Bayes和K Nearest Neighbors在决策边界非常不规则时工作#34;

最后,我希望对几种不同算法的分类器精度进行比较,此外还希望隔离一个实际上准确分类数据的算法...

1 个答案:

答案 0 :(得分:3)

scikit-learn中的所有分类器都需要数字数据。布尔特征很好,对于整数特征,它取决于它们是编码分类,序数还是数字数据。

您需要执行的预处理取决于功能的类型,而不是您是否要将它们组合在一起。将它们结合起来可能是一个好主意。

您可以使用CountVectorizer或TFIDFVectorizer对文本数据进行简单转换。