【问题标题】:Using One Hot Encoder使用一个热编码器
【发布时间】:2021-09-11 06:29:26
【问题描述】:

我有两个关于 scikit-learn OHE 方法的问题:

  1. 如果我们只是将数据重新整形为(nrows,1),为什么一个热门编码器不接受一维数据,而它却能完美运行?

  2. (drop=first、binary 等)实际上做了什么,如果我们将值设置为 None 会发生什么?

【问题讨论】:

    标签: python machine-learning scikit-learn


    【解决方案1】:

    您可以阅读文档。

    https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html

    1. “类别:‘auto’或类似数组的列表”
    2. "drop: {‘first’, ‘if_binary’} 或类似数组的形状 (n_features,),默认=None 指定用于删除每个类别之一的方法 特征。这在完全共线的情况下很有用 功能会导致问题,例如在提供结果数据时 进入神经网络或非正则化回归。 但是,删除一个类别会破坏原始表示的对称性,因此可能会导致下游模型出现偏差,例如惩罚线性分类或回归模型。
    • 无:保留所有功能(默认)。

    • ‘first’:删除每个特征中的第一个类别。如果只存在一个类别,则该功能将被完全删除。

    • ‘if_binary’ : 删除每个特征中的第一个类别,有两个类别。具有 1 个或超过 2 个类别的特征保持不变。

    • array : drop[i] 是特征 X[:, i] 中应该被删除的类别。

    【讨论】:

    • 嘿 Charpentier,感谢您的帮助。请重读我的问题:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 2020-01-30
    • 2013-07-06
    • 2023-03-18
    • 1970-01-01
    • 2020-06-14
    • 2019-07-06
    相关资源
    最近更新 更多