如何在scikit中处理名义数据,python?

时间:2016-10-28 06:04:56

标签: python scikit-learn data-mining categorical-data

我是数据挖掘的新手。我有一个包含董事姓名的数据集。将它们转换为Scikit学习估算器可以毫无问题地使用的东西的正确方法是什么?

根据我在互联网上发现的内容,我认为sklearn.preprocessing.LabelEncoder是正确的选择。

2 个答案:

答案 0 :(得分:2)

取决于您使用的模型类型,make_pipeline(LabelEncoder, OneHotEncoder)pd.get_dummies)是常用选项,并且可以使用linear_modeltree中的分类器。 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']