SKLearn中的虚拟变量

2024-09-30 05:21:11 发布

您现在位置:Python中文网/ 问答频道 /正文

一般性问题。当创建一个数据集时,thusfar我总是自己将分类属性改为数字

例如:单个特征的5个类别会导致1个特征的编号为1,2,3,4,5

在Pandas中创建虚拟变量会导致多个具有0或1值的特征。后者是一种最佳实践,还是仅仅是一种品味问题?在我的模型中,这不会影响准确性,因此在这种情况下,试错法无法提供答案


Tags: 数据答案模型pandas属性分类情况数字
1条回答
网友
1楼 · 发布于 2024-09-30 05:21:11

这取决于您试图转换的数据。如果它是原始数据,比如说slowmediumfast,那么将它们转换成1,2 and 3这样的数字是有意义的。这是因为它们似乎有某种顺序。但是,如果您有城市名称之类的数据,则不能使用此方法,因为它将不必要地在城市之间创建顺序关系,而事实可能并非如此

例如,如果执行以下映射:

"New York" - 1
"London"   - 2
"Moscow"   - 3
"Beijing"  - 4

然后在不同的城市之间引入一种新的关系,比如假设New York的值小于London,等等。这是因为ML算法将数字视为序列,它们的顺序很重要(这对于城市名称来说不是真的)。因此,它取决于您的数据和编码方式

您还可以在this blog post中检查更多编码技术

相关问题 更多 >

    热门问题