gpt4 book ai didi

python - 将数组转换为 MultiLabelBinarizer 的列表

转载 作者:行者123 更新时间:2023-12-01 08:22:13 25 4
gpt4 key购买 nike

我有以下数组:“['book','read']”“['cup','drink']”等,我想将其转换为列表这将允许我申请 MultiLabelBinarizer .

目前它要么给我单个字符,要么只输出 0。

Y = train_labels.iloc[:, 0].values
values = np.array(Y)

mlb = MultiLabelBinarizer(classes=("drink","cup","book", "read"))
output = mlb.fit_transform(values)
print(output)

预期结果:

[0 0 1 1]
[1 1 0 0]

实际结果:

 [0 0 0 0]
[0 0 0 0]

最佳答案

我怀疑您需要注意 MultiLabelBinarizer 输入的正确格式。

y : iterable of iterables
A set of labels (any orderable and hashable object) for each sample.

证明:

txt = [['book', 'read'],['cup', 'drink']]
mlb = MultiLabelBinarizer(classes=("drink","cup","book", "read"))
mlb.fit_transform(txt)
array([[0, 0, 1, 1],
[1, 1, 0, 0]])

请告诉我们这是否可以解决您的问题。

数据格式注意事项

您是否应该坚持将数据存储在您在帖子中指定的数组中:

arr = ["['book', 'read']","['cup', 'drink']"]

以下代码片段会将其转换为正确的格式:

import re
[["".join(re.findall("\w",f)) for f in lst] for lst in [s.split(",") for s in arr]]
[['book', 'read'], ['cup', 'drink']]

关于python - 将数组转换为 MultiLabelBinarizer 的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54552802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com