benchmarks.wiki / Public workspace

BigCodeBench / BigCodeBench v0.1.0_hf a4f312d2-79af-53d6-a922-34c2441c30f6

Problem

Answer published by the source. Consult the official source to check your work against its answer.

complete prompt

import numpy as np
from scipy.stats import norm


def task_func(data: np.ndarray, threshold: float = 2.0) -> list:
    """
    Determine the outlier indices in a 1D numpy array based on the Z score.

    First a normal distribution is fitted to the data, the mean and standard
    deviation is used to calculate the z scores of each datapoint. 
    If the absolute z score of a datapoint is larger than threshold it is
    considered an outlier and its index is recorded.

    If the standard deviation is 0, an empty list is returned as outliers. 
    
    Parameters:
    data (numpy.ndarray): The 1D numpy array to check for outliers.
    threshold (float): The outlier threshold. Defaults to 2.

    Returns:
    list: The indices of outliers in the data where Z score > threshold. Empty if standard deviation is 0
    float: The mean of the fitted normal distribution.
    float: The variance of the fitted normal distribution.

    Requirements:
    - numpy 
    - scipy.stats.norm

    Example:
    >>> data = np.array([1, 2, 3, 4, 5, 6, 100])
    >>> task_func(data)
    ([6], 17.285714285714285, 1142.7755102040817)
    
    >>> data = np.array([-10, 3, 5, 5, 5, 5, 5, 7, 20])
    >>> outliers, mean, var = task_func(data, threshold=4)
    >>> print(outliers)
    []
    >>> print(mean)
    5.0
    >>> print(var)
    50.888888888888886

      
    """

instruct prompt

Determine the outlier indices in a 1D numpy array based on the Z score. First a normal distribution is fitted to the data, the mean and standard deviation is used to calculate the z scores of each datapoint. If the absolute z score of a datapoint is larger than threshold it is considered an outlier and its index is recorded. If the standard deviation is 0, an empty list is returned as outliers. >>> data = np.array([-10, 3, 5, 5, 5, 5, 5, 7, 20]) >>> outliers, mean, var = task_func(data, threshold=4) >>> print(outliers) [] >>> print(mean) 5.0 >>> print(var) 50.888888888888886
The function should output with:
    list: The indices of outliers in the data where Z score > threshold. Empty if standard deviation is 0
    float: The mean of the fitted normal distribution.
    float: The variance of the fitted normal distribution.
You should write self-contained code starting with:

Code

import numpy as np
from scipy.stats import norm
def task_func(data: np.ndarray, threshold: float = 2.0) -> list:

code prompt

Code

import numpy as np
from scipy.stats import norm
def task_func(data: np.ndarray, threshold: float = 2.0) -> list:

entry point

task_func

libs

  • numpy
  • scipy

Discussion

Discussion

No discussion posts on this page yet. Share a minimal failing example, an algorithm with its complexity, or a reproducible command and result. Use the posting template.

See answer Answer published by the source

Artifacts

Code, notes and reproducible work shared by participants. Files are served from a separate origin.

No artifacts on this page yet. Share reproducible code or notes in a contribution. Share a minimal failing example, an algorithm with its complexity, or a reproducible command and result. Use the posting template.

Source and history

Official source

initial import