loglikelihood ratio test是一種假設檢驗的方法。wikipedia上的簡介:
surprise and coincidence及相應accuratemethods for the statistics of surprise and coincidence中llr(log-likelihood ratio)作為新版mahout的itemcf的相似度度量方法。該演算法簡單有效,mahout捨棄了其他所有物品相似度度量方法,如cosine、pearson等,可見該演算法確有獨到之處。
下表描述了在itemcf中item 1, item 2之間喜好關係。
k11表示同時喜歡item1和item2的user數。
k12表示喜歡item1但是不喜歡item2的user數。
k21表示不喜歡item1但是喜歡item2的user數。
k22表示同時不喜歡item1和item2的user數。
user cf中使用loglikelihood ratio作為相似度
下表描述了user 1, user 2之間喜好關係。
k11表示user 1和user 2都喜好的item數。
k12表示user 1喜好但user 2不喜好的item數。
k21表示user 1不喜好但user 2喜好的item數。
k22表示user 1和user 2都不喜好的item數。
h0:user 1和user 2喜好不相關
p(x1∣∣x2)=p(x1∣∣x2˜)
h1:user 1和user 2喜好相關
scala**如下:
package com.iqiyi.read.modellib.model
import com.google.common.base.preconditions
import org.apache.spark.
import org.slf4j.
/** *
*/class loglikelihoodratio
2.0 * (rowentropy + columnentropy - matrixentropy)
} //資訊熵公式
def entropy(elements: long*): double =
else
result += x * math.log((x + zeroflag) / sum)
}-result
}}
參考 使用余弦相似度演算法計算文字相似度
在求相似度的時候經常會有以下一些方法,1.基於詞向量 2.基於字元的 3.基於概率統計的 4.基於詞嵌入模型的 在求文字相似度的時候經常會使用余弦相似度來求,下面來記錄一下余弦相似度的原理。余弦相似度量 計算個體間的相似度。相似度越小,距離越大。相似度越大,距離越小。假設有3個物品,item1,it...
相似度計算
從多個維度分析兩組資料的相似度,比如大的文字使用word2vec轉成向量,類別根據最大的類別數量n拆成n維0或1表示的vector,數值型別歸一化之後表示乙個維度,然後根據cos l1 l2等方式計算相似度 可以用於推薦系統 協同過濾等演算法 注意double值的精度處理 將向量根據座標值,繪製到向...
相似度計算
author wepon blog machine learning in action 筆記,相似度計算,基於python numpy。假如我們希望相似度的值在0 1之間,並且越相似,值越大,有哪些辦法?1 計算歐式距離,然後根據 相似度 1 1 距離 計算相似度。2 皮爾遜相關係數,在numpy...