【发布时间】:2020-11-25 21:05:43
【问题描述】:
这是一个小数据帧,其中包含我需要编码的非常小的数据片段。 DataFrame to Encode
我目前的工作是使用 SciKit-Learns LabelEncoder(),
le = preprocessing.LabelEncoder()
le.fit(["local", "animals", "local", "diet", "food", "health", "local", "police brutality", "police", "kids", "dogs"])
list(le.classes_)
(output)
['animals',
'diet',
'dogs',
'food',
'health',
'kids',
'local',
'police',
'police brutality']
我现在已将所有我想要的目标添加到编码器,所以现在我需要开始编码。问题是 LabelEncoder 接受这样的参数。
le.transform(["local"]) #For the first row in the data frame
(output) array([6])
现在这是第一行的正确编码,但我将如何对其他每一行执行此操作?我不认为手动编写它是非常可行的,因为我的实际数据集大约有 6000 个样本。
我也不确定目标是否应该用逗号分隔,我总是可以改变它,但我的最终目标是获得一个带有编码标签而不是分类标签的新数据框。
另外,由于编码器返回一个数组,如果我要对每一行做同样的事情,每行都有不同数量的标签(即(狗,动物)而不是(本地)),我需要附加每个数组以创建一个矩阵,但这也是我不知道该怎么做的事情。非常感谢您的帮助!
【问题讨论】:
标签: python machine-learning scikit-learn multilabel-classification label-encoding