twitter - 机器学习算法的结果有何不同?
问题描述
我正在从事一个文本挖掘项目,我使用标记的推文数据集(是或否与地震相关的推文包括 8000 个样本)来训练 Naive、MLP(深度学习)LibSVM 分类器来分类(是或否)未标记的推文(28000 个样本) 在 RapidMiner 上。以下是三种机器学习算法的结果:
幼稚的
准确度= 80%
标记为“是”的推文数量= 6056
MLP
准确度= 86%
标记为“是”的推文数量= 2300
支持向量机
准确度= 92%
标记为“是”的推文数= 53
我的问题是为什么标记的推文的数量有很大的不同?
解决方案
我假设您提供的准确性来自您标记数据集的模型构建过程。这表示经过训练的模型可以“再现”训练数据的正确标签的程度。在你未知的、未标记的推文上分配的标签数量的巨大差异似乎表明你的模型中存在严重的过度拟合问题。这意味着模型经过很好的训练可以重现训练数据,但无法泛化新的未知数据。
作为第一个建议,检查您的验证步骤。有一些基本技术,如交叉验证,试图避免过度拟合,但是通过将有关测试集的知识引入到训练数据中,有很多可能性可以“欺骗”自己。
但是,如果没有具体的流程设置,我们只能推测。
推荐阅读
- php - 在 laravel 上使用查询格式化嵌套 json
- clojure - Clojure:将映射数组转换为:key val 序列
- c# - 如何从大字符串中提取 5 位数字?
- r - 如何定义 %>% 运算符?
- java - 具有多种服务的 Dagger 组件
- python-3.x - 超时错误,对于python函数,在codingbat中
- php - 生成顺序参考编号
- python - 为什么 numpy 数组比列表花费更多时间?
- python - 将同表连接的 SQL 语句转换为 SQLAlchemy
- json - 当具有许多属性ID时,Python从Json的attribute_name中获取attribute_id