我有一个数据集
Inp1 Inp2 Output
A,B,C AI,UI,JI Animals
L,M,N LI,DO,LI Noun
X,Y AI,UI Extras对于这些值,我需要应用一个ML算法。哪种算法最适合在这些组之间找到关系,为它们分配一个输出类?
发布于 2022-05-03 18:15:58
假设每个单元格都是一个列表(因为每个单元格中存储了多个字符串),并且不需要特定的编码。下列各点应能发挥作用。它也可以调整,以适应不同的编码。
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))产出:
Inp1 ... Output
0 [65, 66, 67] ... [32488788024979009]
1 [76, 77, 78] ... [1853189966]如果我的假设是错误的,或者这不是你想要的,请告诉我。
发布于 2022-05-09 05:42:02
正如您所提到的,您将应用ML算法(例如分类),我认为One热编码是您要寻找的。
请求格式:
Inp1 Inp2 Inp3 Output
7,44,87 4,65,2 47,36,20 45这种格式不能帮助您将模型训练为单个单元格中的多个标签。然而,你必须再像,OHE,那样进行预处理。
建议格式:
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标记为输出字段。
学习愉快!
发布于 2022-08-11 07:44:42
BCE用于多标签分类,而分类CE用于多类分类,其中每个示例属于单个类。在您的任务中,您需要了解对于单个示例,您是否只以单个类(CE)结尾,或者单个示例可能以多个类(BCE)结尾。很可能第二个是真的,因为动物可以是名词。;)
https://stackoverflow.com/questions/72068609
复制相似问题