第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在python中找到向量和矩陣(大小不同的矩陣)之間的相似距離?

如何在python中找到向量和矩陣(大小不同的矩陣)之間的相似距離?

qq_笑_17 2023-04-11 15:58:15
我有一個用戶“首選項(xiàng)”表的數(shù)據(jù)集,該表的一個實(shí)例如下所示:print(user_normalized[1].reshape(1, -1).shape)print(user_normalized[1].reshape(1, -1))___________________________________________________________________(1, 20)[[0.         0.00239107 0.00131709 0.         0.00355872 0.00212352  0.00300639 0.00044287 0.001469   0.00358637 0.01520913 0.  0.         0.         0.00174978 0.00237691 0.0026616  0.00241604  0.         0.        ]]這給了我第一個用戶的偏好向量。我有電影內(nèi)容表的數(shù)據(jù)集:print(movie_content.shape)print(movie_content)___________________________________________________________________(27278, 20)[[1 0 0 ... 0 0 0] [1 0 0 ... 0 0 0] [0 0 0 ... 0 0 0] ... [0 0 0 ... 0 0 0] [0 0 1 ... 0 0 0] [1 0 0 ... 0 0 0]]我正在嘗試獲取用戶偏好向量和電影內(nèi)容表的點(diǎn)積,以便找到最優(yōu)惠的電影(余弦相似度):distances = np.dot(user_normalized[1], movie_content)但這給了我以下錯誤:ValueError: shapes (1,20) and (27278,20) not aligned: 20 (dim 1) != 27278 (dim 0)為了找到最優(yōu)惠的電影,找到距離度量的正確方法是正確的嗎?如果是代碼有什么問題?
查看完整描述

2 回答

?
偶然的你

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個贊

使用user_normalized(?user_normalized.T) 的轉(zhuǎn)置將適用于更多維。

所以,簡短的回答是:使用

distances?=?np.dot(movie_content,?user_normalized.T)

更復(fù)雜的答案是,點(diǎn)積僅針對兩個矩陣定義X,并且Y如果第二個維度與X第一個維度匹配Y,即X具有形狀(M, N)Y形狀(N, D)。點(diǎn)積的結(jié)果是一個維度為 的新矩陣(M, D)。

在您的情況下,您有一個(27278, 20)矩陣和一個(1, 20)矩陣。轉(zhuǎn)置將(1, 20)矩陣變成(20, 1)矩陣,從而滿足點(diǎn)積的條件。最終結(jié)果是一個(27278, 1)矩陣,其中每個單元格包含第 N 部電影和第 D 個用戶的乘積。


查看完整回答
反對 回復(fù) 2023-04-11
?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個贊

您需要將矢量重塑為(-1, 1).?如果要取兩個形狀數(shù)組的點(diǎn)積(m, k),(t, n)k必須等于t.?由于在 numpy 中沒有向量的概念,你基本上有一個形狀數(shù)組(27278, 20)(movie_content) 和另一個形狀數(shù)組(1, 20)(user_normalized)。為了能夠獲取點(diǎn)積,您必須重塑 user_normalized 數(shù)組的形狀,(20, 1)使 movie_content 和 user_normalized 數(shù)組“對齊”(numpy 喜歡這樣稱呼它)作為dot產(chǎn)品。

因此,您的代碼看起來像

import?numpy?as?np

distances?=?np.dot(movie_content,?user_normalized[1].reshape(-1,?1))
查看完整回答
反對 回復(fù) 2023-04-11
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號