1. 程式人生 > >解決 RuntimeWarning: invalid value encountered in double_scalars

解決 RuntimeWarning: invalid value encountered in double_scalars

在計算餘弦相似度函式時候,出現這個錯誤

 # 計算餘弦相似度函式
    def cos_like(self,array1, array2):
        num = float(np.matmul(array1, array2))
        s = np.linalg.norm(array1) * np.linalg.norm(array2)
        return num / s

說明分母 s 裡面出現了0 。故寫個判斷語句,把分母為0的數重新賦值。用result作為返回值。

        if s ==0:
            result = 0.0
        else:
            result = num/s
        return result

方案二,如果找不到具體哪裡的資料出現了分母為0的情況,可以採用阿Q的方法,直接視而不見,讓這個報錯消失,雖然問題依然未解決。

np.seterr(invalid='ignore')