Implement log_loss
Function and Add Comprehensive Test Coverage
#28800
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Description
This PR introduces the following changes:
Feature Implementation:
log_loss
Function:log_loss
function to the metrics module.sample_weight
input to handle weighted samples.y_true
andy_pred
inputs have the same shape and includes validation for edge cases such as improper input shapes or invalid values.Test Implementation:
test_sklearn_log_loss
:log_loss
function across various scenarios.y_true
) and corresponding predicted probabilities (y_pred
).sample_weight
and validates the function's performance across different backends (e.g., TensorFlow, PyTorch).log_loss
implementation with the reference implementation fromsklearn.metrics.log_loss
to ensure correctness.Additional Notes:
ivy.clip
,ivy.log
,ivy.mean
, etc.) have been cross-checked and confirmed to be available within the Ivy framework.Testing:
log_loss
function performs as expected under various conditions.Checklist