【发布时间】:2021-12-10 02:08:24
【问题描述】:
我正在涉足 ML,并且能够学习教程并让它满足我的需求。这是一个使用 TfidfVectorizer 和 linear_kernel 的简单推荐系统。我遇到了如何通过 Sagemaker 使用端点进行部署的问题。
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import linear_kernel
import json
import csv
with open('data/big_data.json') as json_file:
data = json.load(json_file)
ds = pd.DataFrame(data)
tf = TfidfVectorizer(analyzer='word', ngram_range=(1, 3), min_df=0, stop_words='english')
tfidf_matrix = tf.fit_transform(ds['content'])
cosine_similarities = linear_kernel(tfidf_matrix, tfidf_matrix)
results = {}
for idx, row in ds.iterrows():
similar_indices = cosine_similarities[idx].argsort()[:-100:-1]
similar_items = [(cosine_similarities[idx][i], ds['id'][i]) for i in similar_indices]
results[row['id']] = similar_items[1:]
def item(id):
return ds.loc[ds['id'] == id]['id'].tolist()[0]
def recommend(item_id, num):
print("Recommending " + str(num) + " products similar to " + item(item_id) + "...")
print("-------")
recs = results[item_id][:num]
for rec in recs:
print("Recommended: " + item(rec[1]) + " (score:" + str(rec[0]) + ")")
recommend(item_id='129035', num=5)
首先,我不确定tf.fit_transform(ds['content']) 的输出是否被视为模型或linear_kernel(tfidf_matrix, tfidf_matrix) 的输出。
【问题讨论】:
标签: machine-learning amazon-sagemaker tfidfvectorizer