我有一堆与我公司的来电和去电相关的数据,我正在尝试检测垃圾邮件来电者以便将他们列入黑名单。我从数据中提取的特征现在有点简单:
- 来电号码:谁来电
- N_Unique:不同电话呼叫的数量
- N_Answered:呼叫连接的次数
- N_Missed:呼叫被忽略/错过的次数
- Avg_Duration:接听电话的平均持续时间
最初,我的上级给我发送了一个名为“IsSpammer”的数据集,该字段是二进制的,经过一个非常简单的随机森林(1000 棵树,默认 scikit-learn 其他所有内容),即使经过交叉验证,我也得到了 100% 的准确率。我仔细查看了数据,发现有人在公司内部拨打了 20 多个不同的号码,或者平均通话时长少于 20 秒,被标记为垃圾邮件发送者(这可能是真的),但后来我问主管这个字段是怎么回事生成,他告诉我他将它设置在随机森林发现的规则之下。
然后我意识到我遇到的每一个 ML 问题都来自一个 Kaggle 竞赛,它给了我一个清晰的预测领域,以及一个在预测领域上具有“正确”信息的训练集。如果我没有 Spammer/NotSpammer 的信息,我不知道如何进行 ML,因为显然如果我想出了一个聪明(或不聪明)的规则,那么我希望发现的最好的规则就是我'首先使用...我不确定是否获得更多功能并使用所有这些功能制定和模糊规则会有所帮助。显然我缺乏这方面的经验,所以我想我会问。
这是一个可以从使用机器学习中受益的问题吗?