1、OneHotEncoder 和 get_dummies(https://www.jianshu.com/p/c0edaff3835d)
为什么推荐使用OneHotEncoder?
举个例子:如果训练数据“颜色” 这个变量有“红”,“黄”两个值,但是在测试数据的“颜色”变量除了“红”,“黄”还有“蓝”。这个时候使用get_dummies转化训练数据会生成新的column:红,黄。之后用这个数据训练模型。同时使用get_dummies转化测试数据会生成新的column:红,黄,蓝。之后应用训练好的模型进行测试数据的预测。这时就会出现错误。因为在模型训练的过程并没有“蓝”这一列。
接口和使用方式:
OneHotEncoder 是 Scikit-Learn 的一部分,适用于机器学习管道,支持拟合和转换,可以确保训练和测试数据的编码一致。
get_dummies 是 Pandas 的方法,更加直接和方便用于数据分析,适用于一次性的独热编码。
网友评论