数据集具有编码和缩放功能



我有一个具有非序数分类特征的数据集。在训练机器学习模型(线性SVC(之前,对它们进行转换(编码+缩放(的最佳方法是什么?

我尝试过的东西:

  1. 标签编码-这是有效的。但是缩放是没有意义的,因为一个功能中的不同类别没有任何特定的顺序。

  2. 一个热门编码-一个功能中有成千上万个独特的类别,这通过创建数千列使ML模型变得复杂。

  3. 计数编码-我的训练测试分割在训练集中没有一个特征的所有唯一类别,这在我对这些特征进行计数编码时在测试集中引入了NaN。

感谢您的帮助!

要解决测试集中有一些不在训练集中的唯一值的问题,可以尝试执行以下操作:

  1. 使用df = train.append(test)合并训练数据集
  2. 应用您以前使用过的编码
  3. 将数据集拆分回训练并使用以下方法进行测试:
  • train = df.head(len(train))

  • test = df.tail(len(test))

根据我的经验,我可以说LabelEncoding和OneHotEncoding是编码非有序特征的一些最佳技术。

希望这有帮助:(

最新更新