我是数据挖掘的新手。我有一个包含董事姓名的数据集。将它们转换为Scikit学习估算器可以毫无问题地使用的东西的正确方法是什么?
根据我在互联网上发现的内容,我认为sklearn.preprocessing.LabelEncoder是正确的选择。
答案 0 :(得分:2)
取决于您使用的模型类型,make_pipeline(LabelEncoder, OneHotEncoder)
或pd.get_dummies
)是常用选项,并且可以使用linear_model
或tree
中的分类器。 LabelEncoder
本身就是另一种选择,虽然这不会很好,除非你的标签上有自然的顺序(比如教育水平或其他东西),或者除非你使用非常深的树木,它们能够分开个人标签。
答案 1 :(得分:1)
是的,我认为LabelEncoder是正确的选择。以下示例来自Scikit-Learn文档。
le = preprocessing.LabelEncoder()
le.fit(["paris", "paris", "tokyo", "amsterdam"])
list(le.classes_) # ['amsterdam', 'paris', 'tokyo']
le.transform(["tokyo", "tokyo", "paris"]) # array([2, 2, 1]...)
list(le.inverse_transform([2, 2, 1])) # ['tokyo', 'tokyo', 'paris']