Python 带关键字的机器学习
所以我对机器学习还比较陌生,对关键词有一些疑问。现在,我正在尝试使用我以前收集的一些电影数据(数据由4个属性组成,一个是描述电影的Being关键字)建立一个机器学习模型。尽管如此,有些电影比其他电影有更多的关键词(例如:蜘蛛侠的关键词是超级英雄、蜘蛛、战斗等等)。每部电影有50到400个关键词,因此我想问你,我是否应该将每个关键词作为一个单独的属性,或者我应该将它们全部添加到关键词下,并用逗号分隔 为了更好地说明我的观点,这里有两个例子: 包括电影关键字作为特定属性 包括电影关键字作为一个属性Python 带关键字的机器学习,python,machine-learning,scikit-learn,artificial-intelligence,Python,Machine Learning,Scikit Learn,Artificial Intelligence,所以我对机器学习还比较陌生,对关键词有一些疑问。现在,我正在尝试使用我以前收集的一些电影数据(数据由4个属性组成,一个是描述电影的Being关键字)建立一个机器学习模型。尽管如此,有些电影比其他电影有更多的关键词(例如:蜘蛛侠的关键词是超级英雄、蜘蛛、战斗等等)。每部电影有50到400个关键词,因此我想问你,我是否应该将每个关键词作为一个单独的属性,或者我应该将它们全部添加到关键词下,并用逗号分隔 为了更好地说明我的观点,这里有两个例子: 包括电影关键字作为特定属性 包括电影关键字作为一个属性
非常感谢您的帮助在这里,柠檬化的概念将出现在图片中,尝试用相同的名称替换类似的关键字,例如,超级英雄、战斗,可以替换为动作关键字,舞蹈、音乐等可以归入其他类别。尽量减少关键字,然后为每个关键字创建单独的列。我希望你明白我的意思 您可能并不真正想要您建议的任何一种方法。我假设您希望您的学习方法能够使用关键字对不同的电影进行比较/分类。让我们看看建议方法的问题:
- 在第一种方法中,您建议使用“有序”关键字(即关键字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 ...
指示哪些关键字出现在哪些电影中。这样,几乎任何学习方法都可以轻松地比较电影。注意,我在这里使用二进制值只是表示关键字的存在/不存在,但是根据学习方法的不同,也可以使用其他表示