【问题标题】:Dummy variable with more than one category [closed]具有多个类别的虚拟变量[关闭]
【发布时间】:2022-01-23 07:32:22
【问题描述】:

如何编码具有更多类别的变量?例如,数据集包含student_id|languages|score。如果我们考虑 101,那么我们将有 3 行的标志设置为 3 行。我们应该为三个变量中的每一个设置一个标志为 1 的行,还是应该在每个变量中设置三个 2?

101|English|98
101|French |60
101|Spanish|79
102|English|100
103|Spanish|60

【问题讨论】:

标签: python machine-learning scikit-learn


【解决方案1】:

如果我理解正确,最后一点是个别学生在相应班级和语言的分数。第一个数值看起来更像是班级编号,而不是学生 ID。无论您使用这些数据追求的目标是什么,我都绝对建议将这些数据分成三列,如下所示:

df[['Class_ID', 'Language', 'Score']] = df['General'].str.split('|', expand=True)

之后,您可以使用 pandas 的 get_dummies 方法或 sklearn 的 one-hot 编码对它们进行编码。我建议分成三列的原因是这些变量之间可能存在相关性,例如学生在所有法语课程中都特别好,或者在任何语言的所有高级课程中都表现不佳。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-24
    • 2013-11-06
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    相关资源
    最近更新 更多