machine-learning - 拆分前与分类器无关的特征选择?
问题描述
我需要在我的数据集中使用信息增益特征选择方法。但是,有人告诉我,在拆分数据之前使用它会导致数据泄漏和有偏差的结果。
我读了很多关于这个,但我仍然没有得到它(我猜)。我读的文章只是笼统地谈论它,并且示例总是使用包装器/嵌入方法,找不到使用我需要的方法的示例。
那么问题来了,既然信息增益是与分类器无关的,那么在拆分之前在完整的数据集中使用它仍然会导致信息泄漏吗?
解决方案
从理论上讲,这很简单。您必须在不了解测试集的情况下构建分类器。假装不存在。在您选择分类器及其所有(超)参数之前,您甚至不能作为人类窥视它。在实践中,它有多糟糕取决于您使用了多少信息。
但是,如果您使用通过在测试集上使用统计信息选择的特征,那么您的分类器(平均而言)在测试集上的表现会比您没有使用此信息时稍微好一些。
因此,您的测试集不再适合在没有偏差的情况下测量性能。与测试集相比,您应该期望您的分类器在真实数据上的表现稍差。虽然它会比你没有“作弊”做得更好,因为它已经使用更多数据进行了训练。
推荐阅读
- vue.js - 在 Vue 3 中使用节流阀
- javascript - 嵌套 json 有效负载和嵌套数组 javascript 面试
- php - 所有产品的 $product->get_id() 函数
- jhipster - 从 Angular 到 Spring 后端的带有 Bearer 令牌的请求 - JHipster
- firebase - 没有创建 Firebase 应用“[DEFAULT]” - 调用 Firebase App.initializeApp()
- java - Spring Boot MongoDB 使用加密字段
- java - 如何在单个对话框 (JOPTION) 中打印出所有数字?
- angular - jsPDF/html2canvas 通常会丢失空格和未对齐文本
- javascript - .src 对 DOM 图像文件的 Javascript 分配是异步的吗?
- angular - highcharts 和角度错误“未捕获的错误:Highcharts:错误 #16”