1. ホーム
  2. コンパイラ言語
  3. パイソン

RuntimeWarning: double_scalars に無効な値があることを解決する。

2022-01-21 03:06:50

を計算する際に 余弦類似度 関数で、このエラーが発生します。

  1. # Calculate cosine similarity function
  2. def cos_like(self,array1, array2):
  3. num = float(np.matmul(array1, array2))
  4. s = np.linalg.norm(array1) * np.linalg.norm(array2)
  5. return num / s

これは分母sに0があることを意味するので、分母が0である数を再代入する判定文を書き、resultを戻り値として使用する。

  1. if s == 0:
  2. result = 0.0
  3. else:
  4. result = num/s
  5. return result

オプション2、データのどこに分母が0であるかが正確に見つからない場合、Qのアプローチで、問題は未解決のままですが、このエラーレポートを消して見て見ぬふりをすることも可能です。

np.seterr(invalid='ignore')