我正在研究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
?
非常感谢。