Machine learning 具有季节类别变化的日期文件的二元分类

Machine learning 具有季节类别变化的日期文件的二元分类,machine-learning,classification,weka,regression,document-classification,Machine Learning,Classification,Weka,Regression,Document Classification,我有一个带有发布日期的培训文档集合,其中每个文档都标记为属于(或不属于)某个主题T。我想培训一个模型,该模型将预测新文档(带有发布日期)是否属于T,其中发布日期可能在过去或将来。假设我已将每个培训文档的文本分解为一组特征(例如,单词的TF-IDF或n-GRAM),适合通过Weka库(例如,多项式朴素贝叶斯、随机森林或SVM)提供的适当二进制分类算法进行分析。要学习的概念具有多重季节性;i、 例如,在给定日期发布的任意文档属于T的先验概率在很大程度上取决于该日期何时属于4年周期(由于选举),何时属

我有一个带有发布日期的培训文档集合,其中每个文档都标记为属于(或不属于)某个主题T。我想培训一个模型,该模型将预测新文档(带有发布日期)是否属于T,其中发布日期可能在过去或将来。假设我已将每个培训文档的文本分解为一组特征(例如,单词的TF-IDF或n-GRAM),适合通过Weka库(例如,多项式朴素贝叶斯、随机森林或SVM)提供的适当二进制分类算法进行分析。要学习的概念具有多重季节性;i、 例如,在给定日期发布的任意文档属于T的先验概率在很大程度上取决于该日期何时属于4年周期(由于选举),何时属于年度周期(由于节假日),以及一周中的哪一天

我的研究表明,分类算法通常假设(作为其统计模型的一部分),训练数据是从模型最终将应用到的同一数据池中随机抽样的。当训练数据中的类分布与野外已知的类分布有很大差异时,就会导致所谓的“类不平衡”问题。有一些方法可以弥补这一点,包括对代表性不足的类别进行过抽样、对代表性过高的类别进行过抽样以及使用成本敏感分类。这允许模型创建者隐式地指定一个新文档被正分类的先验概率,但重要的是(不幸的是,出于我的目的),对于所有新文档,该先验概率被假定为相等

我的模型需要更大的灵活性。由于概念的季节性,在对新文档进行分类时,在确定文档属于T的先验概率时,模型必须明确考虑发布日期,并且在模型根据文档的特征计算属于T的后验概率时,应适当考虑这一先验概率。我正在寻找一种分类器实现,它要么(1)将基于日期的先验概率的复杂回归烘焙到分类器中,要么(2)可以使用用户指定的回归函数进行扩展,该函数将日期作为输入,并将先验概率作为输出

我对Weka库最为熟悉,但如果适合工作,我愿意使用其他工具。完成这项任务最直接的方法是什么

编辑(回应Doxav的观点#2):


我担心的是,基于日期的属性不应用于学习关于主题何时适用的规则,而应仅用于确定主题是否适用的先验概率。这里有一个具体的例子:假设主题T是“圣诞节”。7月份发表的一篇文章与圣诞节有关的可能性确实比12月份发表的文章要小得多。但是,一个关于圣诞节的故事是由故事的文本内容而不是在什么时候出版的。出版日期和“关于圣诞节”之间的关系仅仅是相关性,因此仅适用于计算任意日期的任意故事关于圣诞节的先验概率。相比之下,TF-IDF(故事文本中的某些术语)与“关于圣诞节”之间的关系是内在的和因果的,因此,值得纳入到我们的模型中,了解关于圣诞节的故事意味着什么。

似乎可以将其简化为典型的ML问题:文本分类+不平衡数据+季节性识别+架构+典型的批量/离线vs流式/在线学习:

  • 文本分类:是一个关于Weka文本分类的好教程,涵盖了不平衡数据问题

  • 季节性识别:目标是使模型能够学习一些不同时间属性的规则/推理,因此我们应该通过提取最著名的有用属性来简化其工作。这意味着提取典型的日期周期(即周-日、月-日、月-年…),如果可能,还将其与其他更具体的周期或事件(即选举、假日、任何自定义周期或频繁事件)合并。如果希望模型了解时间序列/序列,则应创建一些滞后数据(以前发生的属性或最近时间间隔的统计数据)。最好删除日期本身或任何会使模型构造产生偏差的数据

  • 我不知道您是否计划将此作为一项服务提供,但这可能是一个很好的启示:

  • 典型的批量/离线与流式/在线学习:显然你已经知道Weka专注于批量/离线学习。我不知道你的数据的大小,如果你计划不断地处理新的数据和重建模型,那么你可以考虑移动到流处理和在线学习。因此,您可以转到与Weka非常接近但专门用于流分类的MOA,或者使用最新版本Weka的新流功能(steam处理和新在线学习者)

  • 更新1;我读了你的评论,看到了不同的解决方案:

    • 答案#2仍然是满足您需求的一种可能解决方案,即使它不是最佳解决方案。获取一个指示其圣诞节期间的属性将设置更高的概率将其标记为圣诞节主题,这与“单词”圣诞节的TF-IDF相同,但只有两个属性一起将最大分类概率设置为圣诞节
    • 您可以使用为每个单词提供季节权重的属性:TF-IDF和时间权重,或者使用每个单词的当前Google趋势数据
    • 如果你想拥有最先进的自适应公关