带关键字的机器学习

2024-06-02 11:26:58 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我对机器学习还比较陌生,对关键词有一些疑问。现在,我正在尝试使用我以前收集的一些电影数据(数据由4个属性和一个描述电影的beeing关键字组成)来建立一个机器学习模型。尽管如此,有些电影比其他电影有更多的关键字(例如:蜘蛛侠的关键字将是超级英雄,蜘蛛,战斗等…)每部电影有50至400个关键字,因此我想问你,我应该包括每个关键字作为一个单独的属性,还是我应该把它们全部添加到关键字下,并用逗号分隔。你知道吗

为了更好地说明我的观点,这里有两个例子:

包括电影关键字作为特定属性Table with movie Keyword as seperate attribute

包括电影关键字作为一个属性

Table with movie Keyword as one attribute

非常感谢你的帮助


Tags: 数据模型机器属性电影关键字关键词例子
2条回答

这里的概念将在图片中出现,尝试用相同的名称替换相似的关键字,例如,超级英雄,战斗,可以替换为动作,舞蹈,音乐等可以归入其他类型。尽量减少关键字,然后为每个关键字创建单独的列。我希望你明白我的意思。你知道吗

你可能真的不想要你建议的任何一种方法。我假设您希望您的学习方法能够使用关键字对不同的电影进行比较/分类。让我们看看建议方法的问题:

  • 在第一种方法中,您建议使用“有序”关键字(即关键字1、关键字2等),但如果例如超级英雄战斗的顺序切换,我们得到不同的特征向量,即使我们有相同的关键字(见下表)?这不是我们想要的,关键字的顺序应该不重要!你知道吗

               |   Keyword1     Keyword2
                       
     Movie A   |  Superhero     Fight
     Movie B   |  Fight         Superhero
    
  • 接下来,在第二种方法中,您建议使用列表中的所有关键字。这样,只有关键字完全相同的电影才会被认为是相同的。再说一次,这对于比较电影来说并不是很理想。如果电影A和电影B共享49个关键词,但是有一个不同的关键词,那么学习方法应该能够包含这些信息,并且说电影非常相似,而不是说它们一点都不相似。

相反,您可能希望将关键字本身定义为特性/属性。这样,上述两个问题都可以处理,因为顺序无关紧要,我们仍然可以从单个关键字中学习。您的关键字数据集将如下所示:

          |   Superhero     Fight     StackOverflow    ...
                              
Movie A   |      1            1            0           ...
Movie B   |      1            1            1           ...

指示哪些关键字出现在哪些电影中。这样一来,几乎任何学习方法都可以轻松地比较电影。注意,我在这里使用二进制值只是表示关键字的存在/不存在,但是根据学习方法的不同,也可以使用其他表示。你知道吗

相关问题 更多 >