【问题标题】:What is the best way to encode a large number of categorical features?编码大量分类特征的最佳方法是什么?
【发布时间】:2021-07-15 17:56:10
【问题描述】:

我正在尝试制作一个小型数据科学工具(有点像 WEKA 的迷你版)。现在,我有这些具有大量特征(70-100+)的数据集,它们大多是分类的。我将 Python sklearn 用于机器学习逻辑,我需要根据我得到的 sklearn 错误将这些类别转换为数值。

鉴于此,One Hot Encoding 不是一种选择,因为它会过度扩大维度。

我研究了其他可能有效的方法,如频率编码、标签编码等。但我不确定在我的情况下该选择什么。

另外,有人知道 WEKA 是如何处理这些问题的吗?我在 WEKA 中输入了我的数据集,它们运行良好,它们给了我很好的结果!

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

【问题讨论】:

  • 您打算使用哪些 ML 算法?还是您希望您的编码是通用的?
  • 我将提供朴素贝叶斯、随机森林、SVM 和逻辑回归选项。虽然最好是通用的,因为我还将提供功能选择选项。

标签: python machine-learning scikit-learn weka categorical-data


【解决方案1】:

这取决于算法:一些本地处理分类属性,如 J48(Weka 的 C4.5 实现),它对分类属性执行多路拆分。其他人必须转换数据,例如 SMO(支持向量机),它将名义属性二值化并增加要学习的属性数量。

【讨论】:

    猜你喜欢
    • 2019-07-03
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多