Machine learning 在分割之前独立于分类器的特征选择?

Machine learning 在分割之前独立于分类器的特征选择?,machine-learning,feature-selection,Machine Learning,Feature Selection,我需要在数据集中使用信息增益特征选择方法。但是,有人告诉我,在分割数据之前使用它会导致数据泄漏和有偏见的结果 我读了很多关于这方面的书,但我还是不明白(我猜)。我所读的文章只是笼统地讨论了它,而且示例总是使用包装器/嵌入式方法,没有找到一个使用我需要的方法的示例 因此,问题是,由于信息增益与分类器无关,因此在分割之前在完整的数据集中使用它仍然会导致信息泄漏?理论上非常简单。您必须在不了解测试集的情况下构建分类器。假装它不存在。在选择分类器及其所有(超)参数之前,作为一个人,你甚至不允许偷看它。实

我需要在数据集中使用信息增益特征选择方法。但是,有人告诉我,在分割数据之前使用它会导致数据泄漏和有偏见的结果

我读了很多关于这方面的书,但我还是不明白(我猜)。我所读的文章只是笼统地讨论了它,而且示例总是使用包装器/嵌入式方法,没有找到一个使用我需要的方法的示例


因此,问题是,由于信息增益与分类器无关,因此在分割之前在完整的数据集中使用它仍然会导致信息泄漏?

理论上非常简单。您必须在不了解测试集的情况下构建分类器。假装它不存在。在选择分类器及其所有(超)参数之前,作为一个人,你甚至不允许偷看它。实际上,它有多糟糕取决于你使用了多少信息

但是,如果您使用通过在测试集中使用统计信息选择的特性,那么您的分类器(平均而言)在测试集中的性能会比未使用此信息时稍好一些


因此,您的测试集不再适合无偏差地测量性能。与测试集相比,您应该期望您的分类器在实际数据上的表现稍差。尽管它比你没有“作弊”要好,因为它已经用更多的数据进行了训练。

谢谢!例如,我在分割数据之前使用了信息增益,用于计算信息增益的算法中的数据根本没有分类,它只是一堆数据,没有任何分类。因此,在这种情况下,我可以假设在特征选择之后,我的数据进入了我的分类器而没有被“欺骗”?假设你有500个特征,但只有6个数据点:3个用于训练,3个用于测试。特征选择只选择一个特征,您的分类器非常简单。如果您根据测试集选择了特性,那么它在测试集上的性能显然会很好,而在现实中则会差得多。