我正在尝试执行一个简单数据集的热编码.
data = [['a', 'dog', 'red']
['b', 'cat', 'green']]
Run Code Online (Sandbox Code Playgroud)
使用Scikit-Learn预处理此数据的最佳方法是什么?
在第一直觉上,你会看到Scikit-Learn的OneHotEncoder.但是一个热门编码器不支持字符串作为功能; 它只会离散整数.
那么你将使用LabelEncoder,它将字符串编码为整数.但是,您必须将标签编码器应用到每个列中,并存储这些标签编码器中的每一个(以及它们所应用的列).这感觉非常笨重.
那么,在Scikit-Learn中最好的方法是什么?
请不要建议pandas.get_dummies.这就是我现在通常使用的一种热编码方式.但是,它无法单独编码您的训练/测试集.