machine-learning - 检测一堆文本中的噪声数据有哪些不同的策略?

标签 machine-learning nlp text-processing statistics

我有大约 10 GB 的文本,我根据词袋模型从中提取特征。问题是特征空间非常高维(100 万个单词),我无法根据每个单词的计数丢弃单词,因为出现次数最多和最少的单词对于模型表现更好非常重要。在保持/提高模型性能的同时减少训练数据大小和特征数量有哪些不同的策略?
编辑: 由于过度拟合和训练时间,我想减少训练数据的大小。我使用 FastRank(Boosted trees)作为我的 ML 模型。我的机器配备酷睿 i5 处理器,运行 8GB RAM。训练实例数量约为700-8亿个量级。除了处理之外,模型的训练还需要一个多小时。我目前对训练和测试数据进行随机采样,将大小减少到700MB左右,以便模型的训练在几分钟内完成。

最佳答案

我不完全确定这是否会对您有帮助,因为我不知道您的研究内容是什么,但如果有一种合理的方法来划分 10Gigs 文本(分成文档或段落),也许您可​​以尝试tf-idf。 http://en.wikipedia.org/wiki/Tf%E2%80%93idf

这将允许您丢弃在所有分区中经常出现的单词,并且通常(理解是)它们不会对整个文档/段落等贡献重大值(value)。

如果您唯一的要求是保留最频繁和最不频繁的单词 - 单词频率的标准分布会有帮助吗?去掉平均值和 1 个标准差(或任何您认为合适的数字)。

关于machine-learning - 检测一堆文本中的噪声数据有哪些不同的策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20598134/

相关文章:

memory - 执行 scikit-learns 剪影分数时如何修复 MemoryError?

python - 从字符串中删除数字

nlp - 否定句子的算法

algorithm - 运动数据对比

Pyspark 模型的 Python 等价物

nlp - 斯坦福命名实体识别器中的多术语命名实体

java - 为什么 "\r\n".split ("\r\n") 返回一个空数组?

regex - 使用跨不同行匹配的大括号重新格式化和清理 CSV 文件

python - 如何在 Python sklearn 中修复 SVR 图

nlp - WordNet 3.1和WordNet 3.0之间有什么区别?