gpt4 book ai didi

python-3.x - 库 Linear_kernel 中的内存错误导致 cosine_similarities

转载 作者:行者123 更新时间:2023-12-02 03:22:59 26 4
gpt4 key购买 nike

我的数据集包含 8 列,每列 1482531 行我尝试通过
制作基于内容的推荐系统在 python 中使用 Linear_kernel 制作余弦相似度但半小时后直到我内存错误这是因为数据集很大吗?如果这是解决这个问题的解决方案

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import linear_kernel
from sklearn.model_selection import train_test_split

dataset = pd.read_csv('C:/data2/train.tsv',sep='\t', low_memory=False)

tf = TfidfVectorizer(analyzer='word', ngram_range=(1, 3), min_df=0, stop_words='english')

dataset['item_description'] = dataset['item_description'].fillna('')

tfidf_matrix.shape
((1482535, 13831759))

cosine_similarities = linear_kernel(tfidf_matrix, tfidf_matrix)

最佳答案

如果您的系统有足够的计算能力,您可以尝试以下方法。将数据分成 block 并将其写入 csv 文件(或 db),然后使用该文件进行预测。这是一个小例子,如果您有 1,00,000 条记录(比如说)。

import csv
with open('cosine_data_test.csv','a') as f:
writer = csv.writer(f)
i=0
while i!=tfidf_matrix.shape[0]:
if i%100000!=0:
#Iterating over 10,000 multiples(10 chunks)
cosine_sim = linear_kernel(tfidf_matrix[i:i+1000], tfidf_matrix)
print("{} completed".format(i+1000))
writer.writerows(cosine_sim)
i= i + 10000

关于python-3.x - 库 Linear_kernel 中的内存错误导致 cosine_similarities,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48600627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com