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

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

如何:數(shù)組中余弦相似度的平方根 ~java~

如何:數(shù)組中余弦相似度的平方根 ~java~

婷婷同學(xué)_ 2023-12-13 14:45:44
我的問題是,我正在創(chuàng)建一個圖書推薦系統(tǒng),當(dāng)我嘗試對平方進行平方根以確定相似性時。我不相信它是每個數(shù)組的所有內(nèi)容的平方根。系統(tǒng)會向用戶提示二十本書,然后根據(jù)他們喜歡這本書的程度輸入“1-5”范圍內(nèi)的答案,如果他們還沒有讀過這本書,則輸入“-1”。我的一些分數(shù)輸出是 NaN。因此我假設(shè)它只是在數(shù)組的第一個元素之后停止。我嘗試過重新排列循環(huán),我個人認為這是循環(huán)及其訪問數(shù)組的方式的問題。這是 CPU 評級文件。-1 1 1 4 1 3 3 1 2 3 4 -1 4 1 2 4 5 4 2 33 -1 2 3 -1 2 5 -1 3 3 5 2 2 1 2 3 5 3 4 2-1 1 -1 4 1 3 5 2 1 5 3 -1 5 2 1 3 4 5 3 2-1 -1 3 2 -1 5 5 2 2 4 4 2 3 2 -1 3 4 4 3 12 1 1 5 2 2 4 2 3 4 3 -1 5 2 2 5 3 5 2 13 -1 3 4 -1 2 5 -1 -1 4 3 -1 3 -1 2 5 5 5 4 24 -1 4 2 3 -1 1 3 4 -1 1 4 4 4 -1 2 -1 1 4 44 3 3 3 -1 2 2 4 3 -1 2 4 3 4 2 -1 -1 2 2 33 -1 3 -1 3 4 -1 5 5 -1 -1 -1 1 -1 -1 1 1 2 -1 53 -1 3 4 3 4 -1 5 5 2 3 3 4 1 1 -1 -1 -1 -1 44 -1 4 4 1 3 -1 5 4 -1 1 3 4 1 -1 1 -1 1 -1 55 -1 3 1 4 3 -1 5 4 1 3 2 1 -1 4 2 1 -1 2 43 -1 5 1 4 4 2 5 5 1 2 3 1 1 -1 1 -1 1 -1 54 1 5 4 3 -1 1 3 4 -1 -1 3 3 -1 1 1 2 -1 3 5-1 1 1 3 -1 3 1 3 -1 -1 3 -1 5 2 2 1 4 -1 5 -13 -1 2 3 1 5 4 3 3 -1 5 -1 5 2 -1 4 4 3 3 31 1 1 3 2 4 1 -1 -1 -1 5 -1 3 -1 -1 1 -1 2 5 2-1 2 3 5 -1 4 3 1 1 3 3 -1 4 -1 -1 4 3 2 5 1-1 1 3 3 -1 3 3 1 -1 -1 3 -1 5 -1 -1 3 1 2 4 -13 -1 2 4 1 4 3 -1 2 3 4 1 3 -1 2 -1 4 3 5 -1-1 1 3 5 -1 4 2 1 -1 3 3 2 3 2 -1 3 1 -1 3 -13 2 2 3 -1 5 -1 -1 2 3 4 -1 4 1 -1 -1 -1 -1 4 2-1 3 -1 -1 4 -1 2 -1 2 2 2 5 -1 3 4 -1 -1 2 -1 21 4 3 -1 3 2 1 -1 -1 -1 1 3 1 3 3 1 -1 -1 -1 34 3 3 -1 4 2 -1 4 -1 -1 2 4 -1 3 4 2 -1 -1 -1 4-1 5 1 -1 4 1 -1 3 2 2 -1 4 1 3 3 1 -1 -1 -1 3-1 4 2 1 5 -1 -1 2 1 1 -1 5 -1 5 4 1 2 2 -1 12 5 2 -1 3 -1 -1 1 -1 2 -1 4 2 4 3 -1 2 1 -1 -12 5 1 1 4 -1 2 1 -1 -1 2 4 -1 3 4 2 -1 -1 -1 4平方根的方法        public static double sqrtSquares(double []A) {            //check A for -1        double sum = 0;                for(int i = 0; i<A.length; i++) {                    if(A[i] < 0 ) {                        A[i] = 0;                    }                    A[i] = Math.sqrt(A[i]);                    //calculate the running sum;                    sum += A[i] * A[i] ;                }        return Math.sqrt(sum);        }編輯:此代碼現(xiàn)在可以運行。感謝大家的幫助。
查看完整描述

2 回答

?
千萬里不及你

TA貢獻1784條經(jīng)驗 獲得超9個贊

   public static double sqrtSquares(double []A) {

            double sum = 0;

            for(int i = 0; i<A.length; i++) {

                if(A[i] < 0 ) {

                    A[i] = 0;

                }

                sum += A[i]*A[i];    // calculate the running sum of squares

            }

            return Math.sqrt(sum);

        }

基于余弦相似度定義: https: //en.wikipedia.org/wiki/Cosine_similarity


查看完整回答
反對 回復(fù) 2023-12-13
?
ITMISS

TA貢獻1871條經(jīng)驗 獲得超8個贊

根據(jù)我們的討論以及您對問題的解釋,在您的代碼中發(fā)現(xiàn)了以下問題。

  1. 函數(shù)中的邏輯sqrtSquares()有缺陷。它仍然需要修正,因為您正在實現(xiàn)余弦相似度。為了方便我再寫一次:

public static double sqrtSquares(double []A) {

? ? double sum = 0;

? ? for(int i = 0; i<A.length; i++) {

? ? ? ? if(A[i] < 0 ) {

? ? ? ? ? ? A[i] = 0;

? ? ? ? }

? ? ? ? sum += A[i]*A[i];? ? // calculate the running sum of squares

? ? }

? ? return Math.sqrt(sum);? ?// calculate the square root of the sum of squares

}

使用兩個 return 語句(其中一個位于 for 循環(huán)內(nèi))在僅處理數(shù)組的第一個元素后返回值。因此,將 return 語句拉到循環(huán)之外。


查看完整回答
反對 回復(fù) 2023-12-13
  • 2 回答
  • 0 關(guān)注
  • 215 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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