编码:pd.factorize(),map,

做one-hot编码有时候过于稀疏
pd.factorize(): factorize是因式分解的意思,在这里是把常见的字符型变量分解为数字。

aaa,bbb=pd.factorize(train["EngineVersion"])
aaa
bbb

转换后包含两个array,分别是编码后的值,以及原值对应的index即编码的后的值

缺陷:
即它把字符串映射成的数字的规则是先看见的小,后看见的大。意思就是这一列的第一行,必定为0,第二行如果和第一行的取值不同,就为1,否则就是0.以此类推。也就是说它忽略了字符串代表的含义。在我们这里,设备号应该是越大越先进。而它就没有表现出来。所以在这里我认为用map映射编码更好:
即把设备号小的映射为小数字,大的为大数字,依次排序。


摘抄:https://blog.csdn.net/ssswill/article/details/86555935?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。