1

我正在研究Glove词嵌入。glove.6B.50d.txt我在第一次尝试时使用了 Glove 训练的库。

(train.csv)

品牌、型号、年份、发动机燃料类型、发动机马力、发动机气缸、变速箱类型、驱动轮、门数、市场类别、车辆尺寸、车辆样式、高速公路 MPG、城市 mpg、人气、MSRP 
BMW、1 系列 M,2011 ,premium unleaded (required),335,6,MANUAL,后轮驱动,2,Factory Tuner,Luxury,High-Performance,Compact,Coupe,26,19,3916,46135
BMW,1 Series,2011,premium unleaded (required) ),300,6,MANUAL,后轮驱动,2,豪华,性能,紧凑,敞篷,28,19,3916,40650
BMW,1系,2011,高级无铅(必填),300,6,MANUAL,后轮驱动,2,豪华,高性能,紧凑型,双门轿车,28,20,3916,36350
奥迪,100,1992,普通无铅,172,6,手动,前轮驱动,4,豪华,中型,轿车,24, 17,3105,2000
奥迪,100,1992,普通无铅,172,6,手动,前轮驱动,4,豪华,中型,轿车,24,17,3105,2000
奥迪,100,1992,普通无铅,172,6,AUTOMATIC,全部四轮驱动,4,豪华,中型,旅行车,20,16,3105,2000
奥迪,100,1992,普通无铅,172,6,手动,前轮驱动,4,豪华,中型,轿车,24,17,3105 ,2000
奥迪,100,1992,常规无铅,172,6,手动,全轮驱动,4,豪华,中型,轿车,21,16,3105,2000

我收集了从数据集中读取的数据(train.csv)twoone function如下所示。

X = df.iloc[:,1:].values
def twoone(list1):
    list2 = []
    a = ""
    for x in range(len(list1)):
        for y in range(len(list1[1])):
            list1
            if list1[0][0] == list1[x][y]:
              a+=""+str(list1[x][y])  
            elif list1[1][0] == list1[x][y]:
              a+=""+str(list1[x][y])  
            else:
              a+=" "+str(list1[x][y])
        list2.append(a)
        a = ""
    return list2
X = twoone(X)
print(X)

print(len(X))

我将通过嵌入索引获得的值提供给嵌入数组。我收到一个错误,因为某些值不在glove.6B.50d.txt. 为了暂时解决这个问题,我手动写了其他值。由于我无法阅读所有这些,我只购买了 2 行(奥迪和宝马)的手动嵌入索引。另外,我只取了宝马和奥迪对应的嵌入索引,打印出来。

嵌入索引单行(50d):

[-0.79954, 1.32006, -0.058246, 3.9524, 0.83058, -1.4129, 0.51006, -0.90706, -0.103168, -0.8644, 0.14027, 1.14064, 0.26346, -1.41698, -0.22546, 0.041738, -0.51298, 0.156538, 0.89884, 2.7938, -0.54082, -0.0642, 2.0558, -1.21382, 1.16802, -1.2238, 0.078408, -0.140382, -2.644, -2.2578, 1.46556, 0.65876, 1.59616, 2.2354, -1.2485, -0.49032, -1.32034, 0.71436, 0.65634, 0.41044, 0.63574、0.39114、-0.21028、-0.45792、0.52182、-2.3596、-0.89312、-0.54108、1.46664、-0.40282]
bmw_list = list()
for i in range(len(bmw)-1):
  bmw_satir = list()
  for j in range(len(bmw[0])):
    toplam = bmw[i][j] + bmw[i+1][j]
    bmw_satir.append(toplam)
bmw_list.extend(bmw_satir)
print(bmw_list)

a = []
a.append(audi_list)
a.append(bmw_list)
a.append(bmw_orj)
a.append(audi_orj)

由于我无法打印所有行,因此我为这两个示例分别编写了一个函数above code

model = TSNE(learning_rate = 1000)
transformed = model.fit_transform(arr_x)


arr_x = []

for i in range(len(a)):
  arr_x.append(a[i])

xs = transformed[:,0]
ys = transformed[:,1]


groups = [1,0,1,0] 
plt.scatter(xs, ys, c= groups)

结果我得到了这样的打印输出。 在此处输入图像描述

您可以在此处找到所有代码。

1-) 我们如何更新函数以打印所有行?
2-) 我们如何在不使用预训练的情况下训练词嵌入glove.6B.50d.txt

非常感谢。

4

0 回答 0