수정 방법: runtimewarning: exp에서 오버플로가 발생했습니다.
Python에서 발생할 수 있는 경고는 다음과 같습니다.
RuntimeWarning: overflow encountered in exp
이 경고는 exp NumPy 함수를 사용하지만 처리하기에는 너무 큰 값을 사용할 때 발생합니다.
이는 단지 경고일 뿐이며 NumPy는 사용자가 요청한 계산을 계속 수행하지만 기본적으로 경고를 제공한다는 점을 기억하는 것이 중요합니다.
이 경고가 표시되면 다음 두 가지 옵션이 있습니다.
1. 무시하세요.
2. 경고를 완전히 제거하십시오.
다음 예에서는 실제로 이 경고에 대응하는 방법을 보여줍니다.
경고를 재현하는 방법
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
NumPy가 계산을 수행하지만(결과는 0.0) 여전히 RuntimeWarning 을 인쇄합니다.
이 경고는 np.exp(1140) 값이 엄청난 숫자인 e 1140 을 나타내기 때문에 인쇄됩니다.
기본적으로 NumPy에 다음 계산을 수행하도록 요청했습니다.
- 1 / (1 + 대규모 숫자)
이는 다음과 같이 줄일 수 있습니다.
- 1 / 엄청난 숫자
실제로는 0이므로 NumPy는 결과를 0.0 으로 계산했습니다.
경고를 제거하는 방법
원하는 경우 다음과 같이 경고 패키지를 사용하여 경고를 억제할 수 있습니다.
import numpy as np import warnings #remove warnings warnings. filterwarnings (' ignore ') #perform some calculation print (1/(1+np. exp (1140))) 0.0
NumPy는 계산을 수행하고 RuntimeWarning을 표시하지 않습니다.
참고 : 일반적으로 경고는 실행하는 데 시간이 오래 걸리는 코드 부분을 식별하는 데 도움이 될 수 있습니다. 따라서 경고를 제거하기로 결정할 때는 매우 신중하게 선택하십시오.
추가 리소스
다음 튜토리얼에서는 Python의 다른 일반적인 오류를 수정하는 방법을 설명합니다.
Pandas에서 KeyError를 수정하는 방법
수정 방법: ValueError: float NaN을 int로 변환할 수 없습니다.
해결 방법: ValueError: 피연산자를 모양과 함께 브로드캐스트할 수 없습니다.