from sklearn.decomposition import PCA
import numpy as np
vectors_4096 = np.array([np.random.normal(size=4096) for x in range(5000)])
display(vectors_4096.shape)
>>> (5000, 4096)
# instantiate PCA
# for n_components choose number of dims that you want to reduce to
pca = PCA(n_components=2000)
# fit PCA model and transform data:
vectors_pca = pca.fit_transform(vectors_4096)
display(vectors_pca.shape)
>>> (5000, 2000)
1条答案
按热度按时间uhry853o1#
我建议您使用Principal Component Analysis(PCA)来减少源向量的维度。
您可以修改此代码(这里使用随机虚拟数据来说明):
请注意,您必须在语料库上拟合PCA模型一次,然后仅将拟合模型的
transform()
函数用于新的、未见过的数据(例如,数据)。一些新的嵌入,您可能希望将其摄取到PostgreSQL数据库中)。只有这样,您才能确保新数据的数据转换等于转换后的现有数据。