Cara memperbaiki: runtimewarning: terjadi overflow di exp


Peringatan yang mungkin Anda temui di Python adalah:

 RuntimeWarning: overflow encountered in exp

Peringatan ini terjadi ketika Anda menggunakan fungsi exp NumPy, namun menggunakan nilai yang terlalu besar untuk ditangani.

Penting untuk dicatat bahwa ini hanyalah peringatan dan NumPy akan tetap melakukan perhitungan yang Anda minta, namun memberikan peringatan secara default.

Saat Anda menemukan peringatan ini, Anda memiliki dua pilihan:

1. Abaikan saja.

2. Hapus peringatan sepenuhnya.

Contoh berikut menunjukkan bagaimana menanggapi peringatan ini dalam praktiknya.

Cara mereproduksi peringatan tersebut

Misalkan kita melakukan perhitungan berikut dengan Python:

 import numpy as np

#perform some calculation
print (1/(1+np. exp (1140)))

0.0

/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:3:
RuntimeWarning: overflow encountered in exp

Perhatikan bahwa NumPy melakukan perhitungan (hasilnya 0,0) tetapi masih mencetak RuntimeWarning .

Peringatan ini dicetak karena nilai np.exp(1140) mewakili e 1140 , yang merupakan angka yang sangat besar .

Kami pada dasarnya meminta NumPy untuk melakukan perhitungan berikut:

  • 1 / (1 + bilangan masif)

Hal ini dapat direduksi menjadi:

  • 1 / bilangan masif

Memang benar 0, itulah sebabnya NumPy menghitung hasilnya sebagai 0.0 .

Bagaimana cara menghilangkan peringatan tersebut

Jika kita mau, kita bisa menggunakan paket warnings untuk menyembunyikan peringatan sebagai berikut:

 import numpy as np
import warnings

#remove warnings
warnings. filterwarnings (' ignore ')

#perform some calculation
print (1/(1+np. exp (1140)))

0.0

Perhatikan bahwa NumPy melakukan penghitungan dan tidak menampilkan RuntimeWarning.

Catatan : Secara umum, peringatan dapat membantu dalam mengidentifikasi potongan kode yang memerlukan waktu lama untuk dieksekusi. Jadi berhati-hatilah saat memutuskan untuk menghapus peringatan.

Sumber daya tambahan

Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya dengan Python:

Cara Memperbaiki KeyError di Pandas
Cara Memperbaiki: ValueError: Tidak dapat mengubah float NaN menjadi int
Cara Memperbaiki: ValueError: Operan tidak dapat disiarkan dengan bentuk

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *