Machine learning 如何为任何分类方法传递多值属性

Machine learning 如何为任何分类方法传递多值属性,machine-learning,data-mining,data-science,Machine Learning,Data Mining,Data Science,我有一个特性“skills”,它是一个多值参数。我想用它作为分类的特征。我不知道如何用它来训练我的模特 例如,一个作业具有某些必需的技能(比如Java、Node.js、MVC),对于不同的作业,这些技能可能有所不同。我必须使用技能作为参数之一 任何帮助都将不胜感激。 谢谢。处理多值功能的常用方法是将它们拆分。 如果您知道数据集中所有可能的技能,请为每个技能创建一个功能。如果技能存在于样本中,则相应的特征为1,否则为0 比如说 skill = "Java,MVC" 变成多个功能: Java =

我有一个特性“skills”,它是一个多值参数。我想用它作为分类的特征。我不知道如何用它来训练我的模特

例如,一个作业具有某些必需的技能(比如Java、Node.js、MVC),对于不同的作业,这些技能可能有所不同。我必须使用技能作为参数之一

任何帮助都将不胜感激。
谢谢。

处理多值功能的常用方法是将它们拆分。 如果您知道数据集中所有可能的技能,请为每个技能创建一个功能。如果技能存在于样本中,则相应的特征为1,否则为0

比如说

skill = "Java,MVC"
变成多个功能:

Java = 1, Node.js = 0, MVC = 1

这种方法的缺点是,如果你有许多不同的技能,你的特征空间就会爆炸。这意味着您的模型容易过度拟合。

您可以做相反的事情(对所有可能的组合进行编码),这在运行时非常有效,但在开始时需要花费大量精力对所有组合进行编码。如果你的@rpd较少,我怀疑她/他拥有的不同技能少于7项,这可能是一个问题,因为这些技能的组合呈指数增长2^(技能数量)。此外,它对于机器学习应用程序不太有用,因为只有一种不同技能的两个不同候选人被视为完全不同的组合。(相似性丢失)在这种情况下,您可以使用TF-IDF作为技能的“预处理”步骤,并使用阈值来量化差异。