首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于分类数据的分类

基于分类数据的分类
EN

Stack Overflow用户
提问于 2022-04-30 12:38:44
回答 3查看 165关注 0票数 0

我有一个数据集

代码语言:javascript
复制
Inp1    Inp2        Output
A,B,C   AI,UI,JI    Animals
L,M,N   LI,DO,LI    Noun
X,Y     AI,UI       Extras

对于这些值,我需要应用一个ML算法。哪种算法最适合在这些组之间找到关系,为它们分配一个输出类?

EN

回答 3

Stack Overflow用户

发布于 2022-05-03 18:15:58

假设每个单元格都是一个列表(因为每个单元格中存储了多个字符串),并且不需要特定的编码。下列各点应能发挥作用。它也可以调整,以适应不同的编码。

代码语言:javascript
复制
import pandas as pd
A = [["Inp1", "Inp2", "Inp3", "Output"],
[["A","B","C"], ["AI","UI","JI"],["Apple","Bat","Dog"],["Animals"]],
[["L","M","N"], ["LI","DO","LI"], ["Lawn", "Moon", "Noon"], ["Noun"]]]

dataframe = pd.DataFrame(A[1:], columns=A[0])

def my_encoding(row):
    encoded_row = []
    for ls in row:
        encoded_ls = []
        for s in ls:
            sbytes = s.encode('utf-8')
            sint = int.from_bytes(sbytes, 'little')
            encoded_ls.append(sint)
        encoded_row.append(encoded_ls)
    return encoded_row

print(dataframe.apply(my_encoding))

产出:

代码语言:javascript
复制
           Inp1  ...               Output
0  [65, 66, 67]  ...  [32488788024979009]
1  [76, 77, 78]  ...         [1853189966]

如果我的假设是错误的,或者这不是你想要的,请告诉我。

票数 1
EN

Stack Overflow用户

发布于 2022-05-09 05:42:02

正如您所提到的,您将应用ML算法(例如分类),我认为One热编码是您要寻找的。

请求格式:

代码语言:javascript
复制
Inp1     Inp2    Inp3      Output
7,44,87  4,65,2  47,36,20  45

这种格式不能帮助您将模型训练为单个单元格中的多个标签。然而,你必须再像,OHE,那样进行预处理。

建议格式:

代码语言:javascript
复制
A  B  C  L  M  N  X  Y  AI  DO  JI  LI  UI  Apple  Bat  Dog  Lawn  Moon  Noon  Yemen  Zombie
1  1  1  0  0  0  0  0   1   0   1   0   1      1    1    1     0     0     0      0       0
0  0  0  1  1  1  0  0   0   1   0   1   0      0    0    0     1     1     1      0       0
0  0  0  0  0  0  1  1   1   0   0   0   1      0    0    0     0     0     0      1       1

此后,您可以根据您的模型需要将encode / ohe标记为输出字段。

学习愉快!

票数 1
EN

Stack Overflow用户

发布于 2022-08-11 07:44:42

BCE用于多标签分类,而分类CE用于多类分类,其中每个示例属于单个类。在您的任务中,您需要了解对于单个示例,您是否只以单个类(CE)结尾,或者单个示例可能以多个类(BCE)结尾。很可能第二个是真的,因为动物可以是名词。;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72068609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档