❮ PHP Math Reference
Example
Return log[1+number] for different numbers:
Try it Yourself »
Definition and Usage
The log1p[] function returns log[1+number], computed in a way that is accurate even when the value of number is close to zero.
Syntax
Parameter Values
number | Required. Specifies the number to process |
Technical Details
log[1+number] |
Float |
4.1+ |
PHP 5.3: The log1p[] function is now available on all platforms |
❮ PHP Math Reference
Mục đích của numpy.log1p [] là gì?
Xin chào, tôi mới làm quen với kaggle và đang làm việc trên tập dữ liệu Dự đoán nhà . Tôi vừa xem qua một trong những Kernel này và không thể hiểu nó
numpy.log1p[]
làm gì trong đường dẫn thứ ba của mã này
Tôi đã googled nó và tài liệu của numpy cho biết nó
Lợi nhuận :
- Một mảng có giá trị lôgarit tự nhiên là x + 1;
- trong đó x thuộc về tất cả các phần tử của mảng đầu vào.
Nhưng mục đích của việc tìm nhật ký có thêm một [+1] trong khi tìm độ lệch của mảng ban đầu và mảng đã biến đổi của các đối tượng địa lý giống nhau là gì? Nó làm gì ?
Ai đó có thể hướng dẫn tôi không?
- python
- numpy
25 hữu ích 4 bình luận 26k xem chia sẻ
answer
53
Tài liệu NumPy đưa ra gợi ý :
Đối với đầu vào có giá trị thực,
log1p
cũng chính xác đối với độ chính xácx
nhỏ đến1 + x == 1
mức độ chính xác của dấu chấm động.
Vì vậy, ví dụ, chúng ta hãy thêm một số nhỏ khác 0 và 1.0
. Làm tròn lỗi làm cho nó a 1.0
.
>>> 1e-100 == 0.0
False
>>> 1e-100 + 1.0 == 1.0
True
Nếu chúng tôi cố gắng lấy log
tổng không chính xác đó, chúng tôi sẽ nhận được kết quả không chính xác [so sánh với WolframAlpha ]:
>>> np.log[1e-100 + 1]
0.0
Nhưng nếu chúng ta sử dụng log1p[]
, chúng ta sẽ nhận được kết quả chính xác
>>> np.log1p[1e-100]
1e-100
Nguyên tắc tương tự áp dụng cho exp1m[]
và logaddexp[]
: Càng nhỏ càng chính xác x
.
53 hữu ích 2 bình luận chia sẻ
answer
9
Nếu x nằm trong khoảng 0 ... + Inf thì nó sẽ không bao giờ gây ra lỗi [như chúng ta biết log [0] sẽ gây ra lỗi].
Không phải lúc nào cũng là lựa chọn tốt nhất, vì như bạn thấy, bạn sẽ mất một đường cong lớn trước x = 0, đó là một trong những điều tốt nhất về hàm log
9 hữu ích 1 bình luận chia sẻ
answer
0
Khi giá trị đầu vào của bạn quá nhỏ, bằng cách sử dụng np.log1p
hoặc np.expm1
để tính toán, bạn sẽ nhận được kết quả đáng tin cậy hơn np.log
hoặc np.exp
theo cách diễn giải từ liên kết này .
0 hữu ích 0 bình luận chia sẻ
Đăng nhập để trả lời câu hỏi
Có thể bạn quan tâm
Hàm log1p[] trong Python
Nội Dung
- 1. Cú pháp sử dụng hàm math.log1p[] trong Python
- 2. Ví dụ hàm math.log1p[] trong Python
1. Cú pháp sử dụng hàm math.log1p[] trong Python
Hàm math.log1p[x] trong Python được sử dụng để trả về lôgarit cơ số e [hay còn gọi là loogarit tự nhiên] của x + 1. Hàm này sẽ được tính và trả về kết quả theo cách chính xác ngay cả khi giá trị của số gần bằng 0. Cú pháp hàm math.log1p[x] như sau:
math.log1p[x]
Tham số:
- x là giá trị chỉ định để tính logarit cơ số e của x + 1
Giá trị trả về: | Một giá trị kiểu float. Là kết quả logarit cơ số e của một số x + 1 |
Phiên bản Python: | 2.6 |
Lưu ý:
- Nếu giá trị tham số x được truyền vào hàm bằng 0 [x = 0] hoặc giá trị tham số x truyền vào hàm là một số nguyên âm thì hàm sẽ thực thi gây ra lỗi ValueError!
- Nếu giá trị tham số x được truyền vào hàm không phải là kiểu số thì hàm sẽ không thể thực hiện tính toán và gây ra lỗi TypeError!
2. Ví dụ hàm math.log1p[] trong Python
Ví dụ dưới đây, sử dụng hàm math.log1p[x] để tính logarit cơ số e của các số x + 1 ngẫu nhiên ở bên dưới và trả về kết quả như sau:
import math # Tinh logarit co so e cua x + 1 [math.log1p[x]] print[math.log1p[2.7183]] print[math.log1p[2]] print[math.log1p[1]]
Kết quả:
1.3132665745863341 1.0986122886681096 0.6931471805599453
Ví dụ tiếp theo, truyền các giá trị x = 0 hoặc giá trị tham số x là số nguyên âm vào hàm trong hàm math.log1p[] thì khi đó hàm sẽ gây lỗi ValueError như sau:
import math # Tinh logarit co so e cua x + 1 [math.log1p[x]] print[math.log1p[-2.7183]] print[math.log1p[-2]] print[math.log1p[1]]
Kết quả:
Traceback [most recent call last]: File "./prog.py", line 4, in ValueError: math domain error
Ví dụ cuối cùng, truyền vào hàm các giá trị x là không thuộc kiểu số, khi đó hàm sẽ không thể thực hiện tính toán và gây ra lỗi TypeError như sau:
import math # Tinh logarit co so e cua x + 1 [math.log1p[x]] print[math.log1p["-2.7183"]] print[math.log1p["a"]] print[math.log1p[1]]
Kết quả:
Traceback [most recent call last]: File "./prog.py", line 4, in TypeError: must be real number, not str