首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分类编码前后的标准化?

分类编码前后的标准化?
EN

Stack Overflow用户
提问于 2017-11-13 19:27:04
回答 4查看 10.4K关注 0票数 8

我正在研究一种回归算法,在这种情况下,k-NearestNeighbors可以预测某个产品的价格。

所以我有一个训练集,它只有一个分类特征和4个可能的值。我已经使用了一对k分类编码方案来处理它,这意味着现在我的Pandas DataFrame中还有3列,其0/1取决于当前值。

DataFrame的其他特征主要是位置和价格的纬度-经度等距离,所有这些都是数字的。

应该标准化(均值和单位方差为零的高斯分布),并在分类编码前后进行规范化吗?

我在想,在编码后进行规范化可能是有益的,这样在测量邻居之间的距离时,每个特征对估计器都一样重要,但我不太确定。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-10-29 12:50:43

似乎是个未解决的问题,所以我想回答,尽管已经很晚了。我也不确定向量之间的相似性会受到多大的影响,但在我的实际经验中,你应该首先对你的特征进行编码,然后再对它们进行缩放。我已经尝试过与preprocessing.StandardScaler()相反的方法,如果您的特征向量不具有相同的长度,它就无法工作:我可以从您的描述中看出,您的数据具有固定数量的特性,但是我认为为了泛化目的(也许将来您有新的特性?),假设每个数据实例都有一个唯一的特征向量长度是很好的。例如,我使用Keras text_to_word_sequence将文本文档转换为word索引(这给出了不同的向量长度),然后将它们转换为一个热点向量,然后将它们标准化。实际上,我并没有看到标准化方面有很大的进步。我认为您也应该重新考虑您的哪些特性要标准化,因为假人可能不需要标准化。这里似乎不需要任何标准化或规范化的分类属性。K近邻是基于距离的,因此这些预处理技术会影响K近邻。我建议您尝试标准化或规范化,并检查不同的模型对您的数据集和任务的反应。

票数 7
EN

Stack Overflow用户

发布于 2017-11-15 17:17:01

之后。假设列中没有数值变量,而是字符串。你不能标准化字符串-对吗?:)

但考虑到你写的关于类别的东西。如果它们是用值表示的,我想里面有某种排序。也许,您可以使用原始列而不是一个热编码的列。只是一些想法。

票数 1
EN

Stack Overflow用户

发布于 2017-11-13 20:56:01

您通常希望标准化您的所有功能,以便在编码之后完成(假设您首先要标准化,考虑到有些机器学习算法不需要标准化才能正常工作)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47272033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档