Я не могу получить правильный вывод при попытке преобразовать числовые значения в строку с помощью tfidvectorizer в jupyter - PullRequest
0 голосов
/ 16 мая 2019

Я не могу преобразовать число в строку, используя tfidvectorizer, даже после использования функции str. Я прошу любого дать решение для этого.

dum['course_id']=str(dum['course_id'])
tf = TfidfVectorizer(analyzer='word',ngram_range=(1, 2),min_df=0, stop_words='english')
tfidf_matrix = tf.fit_transform(dum['course_id'])

Я не получаю правильный вывод, который я хочу получить, я использую это для системы рекомендаций, поэтому, используя идентификатор курса (1,2,3,4 ....), я должен рекомендовать похожих пользователей ... но выводить дает всем пользователям вместо того, чтобы показывать похожих пользователей ..
вот несколько строк кода, где dum - имя набора данных дум [ 'course_id'] = ул (дум [ 'course_id']) tf = TfidfVectorizer (анализатор = 'char', ngram_range = (1, 2), min_df = 0, stop_words = 'english') tfidf_matrix = tf.fit_transform (dum ['course_id'])

tfidf_matrix.shape cosine_sim = linear_kernel (tfidf_matrix, tfidf_matrix)

userid = dum ['user_id'] indexes = pd.Series (dum.index, index = dum ['user_id'])

def get_recommendations_userid (userid): idx = индексы [идентификатор пользователя]

sim_scores = list(enumerate(cosine_sim[idx]))

sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
user_indices = [i[0] for i in sim_scores]

return user_indices[0:11]

get_recommendations_userid (2) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

вывод: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], что неверно при проверке сходства пользователей

...