scikit-learn中的多标签编码

2024-05-15 14:57:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试对我的DataFrame的目标列进行编码。此列包含的变量的类型为object。在

我有一个DataFrame,它包含所有代码-icd10。使用这些,我试图将我的infoDFDataFrame的标签进行二值化。在

我的代码如下:

from sklearn import preprocessing

lb = preprocessing.LabelBinarizer()
#fit all the possible label codes
lb.fit(icd10['ICD10'])
temp = lb.transform(infoDF['Target'])
for i,x in enumerate(lb.classes_):
    infoDF[x] = temp[ : , i]

当我运行它时,我得到以下回溯:

^{pr2}$

我不知道我做错了什么。。在


Tags: 代码from类型目标dataframe编码object标签
1条回答
网友
1楼 · 发布于 2024-05-15 14:57:06

虽然我们没有您的数据集的确切格式,但看起来问题是由初始整数引起的。在

sklearn的LabelBinarizer调用^{},根据文档,这不允许“字符串和整数标签的混合”。在

尝试删除前21行,看看错误是否仍然存在。在

import pandas as pd
from sklearn import preprocessing

lb = preprocessing.LabelBinarizer()

icd11 = pd.DataFrame({'ICD11': [0, '6C51', '6C50.Z']})

# crashes
lb.fit(icd11['ICD11'])

# does not crash
lb.fit(icd11['ICD11'][1:])

相关问题 更多 >