训练机器学习预测器

时间:2014-12-02 17:36:31

标签: python machine-learning language-features feature-selection

我一直在尝试使用用户的数据构建预测模型。模型的输入是文档的元数据(发布日期,标题等),文档标签是用户的偏好(喜欢/不喜欢)。我想问一些我遇到的问题,希望得到一些答案:

  1. 比不喜欢的文件更受欢迎。我读到某个地方,如果某人使用一个标签的输入比另一个标签更多的输入训练一个模型,这会以一种糟糕的方式影响性能(模型倾向于将所有内容归类为具有大多数输入的标签/结果
  2. 是否有可能输入ML算法,例如逻辑回归在数字和单词方面是混合的,以及如何做到这一点,如:

    input = [18,23,1,0,'cryptography'] with label = ['Like']

    我们也可以使用矢量(代表一个单词,使用tfidf等)作为输入要素(例如50维向量)吗?

  3. 为了使用文本数据构建预测模型,唯一的方法是从我们文档中提到的每个单词中导出一个字典,然后构造一个二进制输入来决定是否提到一个术语?使用这样的版本虽然我们在集合中失去了术语的权重吗? 我们可以在监督学习模型中使用某些东西作为word2vec向量作为单个输入吗?
  4. 感谢您的时间。

1 个答案:

答案 0 :(得分:1)

  1. 您需要对较大的类进行欠采样(采用较小的随机样本以匹配较小类的大小),对较小的类(引导样本)进行过采样,或使用支持不平衡的算法数据 - 为此您需要阅读文档。

  2. 您需要将单词转换为单词向量。列是语料库中的所有唯一单词。行是文件。单元格值是以下之一:文档中是否出现单词,出现的次数,出现的相对频率或TFIDF得分。然后,您可以将这些列与其他非单词列一起使用。

  3. 现在你可能有更多列而不是行,这意味着你将获得基于矩阵算法的奇点,在这种情况下你需要像SVM或Naive Bayes这样的东西。