# {py:mod}`feedback_forensics.app.metrics`

```{py:module} feedback_forensics.app.metrics
```

```{autodoc2-docstring} feedback_forensics.app.metrics
:allowtitles:
```

## Module Contents

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`get_agreement <feedback_forensics.app.metrics.get_agreement>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_agreement
    :summary:
    ```
* - {py:obj}`get_acc <feedback_forensics.app.metrics.get_acc>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_acc
    :summary:
    ```
* - {py:obj}`get_cohens_kappa <feedback_forensics.app.metrics.get_cohens_kappa>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_cohens_kappa
    :summary:
    ```
* - {py:obj}`get_cohens_kappa_randomized <feedback_forensics.app.metrics.get_cohens_kappa_randomized>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_cohens_kappa_randomized
    :summary:
    ```
* - {py:obj}`get_relevance <feedback_forensics.app.metrics.get_relevance>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_relevance
    :summary:
    ```
* - {py:obj}`get_principle_strength <feedback_forensics.app.metrics.get_principle_strength>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_principle_strength
    :summary:
    ```
* - {py:obj}`get_num_votes <feedback_forensics.app.metrics.get_num_votes>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_num_votes
    :summary:
    ```
* - {py:obj}`get_agreed <feedback_forensics.app.metrics.get_agreed>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_agreed
    :summary:
    ```
* - {py:obj}`get_disagreed <feedback_forensics.app.metrics.get_disagreed>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_disagreed
    :summary:
    ```
* - {py:obj}`get_not_applicable <feedback_forensics.app.metrics.get_not_applicable>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_not_applicable
    :summary:
    ```
* - {py:obj}`get_metrics <feedback_forensics.app.metrics.get_metrics>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_metrics
    :summary:
    ```
* - {py:obj}`compute_annotator_metrics <feedback_forensics.app.metrics.compute_annotator_metrics>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.compute_annotator_metrics
    :summary:
    ```
* - {py:obj}`get_overall_metrics <feedback_forensics.app.metrics.get_overall_metrics>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_overall_metrics
    :summary:
    ```
* - {py:obj}`ensure_categories_identical <feedback_forensics.app.metrics.ensure_categories_identical>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.ensure_categories_identical
    :summary:
    ```
* - {py:obj}`get_default_avail_metrics <feedback_forensics.app.metrics.get_default_avail_metrics>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.get_default_avail_metrics
    :summary:
    ```
````

### Data

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`DEFAULT_METRIC_NAME <feedback_forensics.app.metrics.DEFAULT_METRIC_NAME>`
  - ```{autodoc2-docstring} feedback_forensics.app.metrics.DEFAULT_METRIC_NAME
    :summary:
    ```
````

### API

````{py:data} DEFAULT_METRIC_NAME
:canonical: feedback_forensics.app.metrics.DEFAULT_METRIC_NAME
:value: >
   'strength'

```{autodoc2-docstring} feedback_forensics.app.metrics.DEFAULT_METRIC_NAME
```

````

````{py:function} get_agreement(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> float
:canonical: feedback_forensics.app.metrics.get_agreement

```{autodoc2-docstring} feedback_forensics.app.metrics.get_agreement
```
````

````{py:function} get_acc(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> float
:canonical: feedback_forensics.app.metrics.get_acc

```{autodoc2-docstring} feedback_forensics.app.metrics.get_acc
```
````

````{py:function} get_cohens_kappa(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> float
:canonical: feedback_forensics.app.metrics.get_cohens_kappa

```{autodoc2-docstring} feedback_forensics.app.metrics.get_cohens_kappa
```
````

````{py:function} get_cohens_kappa_randomized(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> float
:canonical: feedback_forensics.app.metrics.get_cohens_kappa_randomized

```{autodoc2-docstring} feedback_forensics.app.metrics.get_cohens_kappa_randomized
```
````

````{py:function} get_relevance(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> float
:canonical: feedback_forensics.app.metrics.get_relevance

```{autodoc2-docstring} feedback_forensics.app.metrics.get_relevance
```
````

````{py:function} get_principle_strength(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> float
:canonical: feedback_forensics.app.metrics.get_principle_strength

```{autodoc2-docstring} feedback_forensics.app.metrics.get_principle_strength
```
````

````{py:function} get_num_votes(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> int
:canonical: feedback_forensics.app.metrics.get_num_votes

```{autodoc2-docstring} feedback_forensics.app.metrics.get_num_votes
```
````

````{py:function} get_agreed(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> int
:canonical: feedback_forensics.app.metrics.get_agreed

```{autodoc2-docstring} feedback_forensics.app.metrics.get_agreed
```
````

````{py:function} get_disagreed(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> int
:canonical: feedback_forensics.app.metrics.get_disagreed

```{autodoc2-docstring} feedback_forensics.app.metrics.get_disagreed
```
````

````{py:function} get_not_applicable(value_counts: pandas.Series, *, annotation_a=None, annotation_b=None) -> int
:canonical: feedback_forensics.app.metrics.get_not_applicable

```{autodoc2-docstring} feedback_forensics.app.metrics.get_not_applicable
```
````

````{py:function} get_metrics()
:canonical: feedback_forensics.app.metrics.get_metrics

```{autodoc2-docstring} feedback_forensics.app.metrics.get_metrics
```
````

````{py:function} compute_annotator_metrics(votes_df: pandas.DataFrame, annotator_metadata: dict, annotator_cols: list[str], ref_annotator_col: str) -> dict
:canonical: feedback_forensics.app.metrics.compute_annotator_metrics

```{autodoc2-docstring} feedback_forensics.app.metrics.compute_annotator_metrics
```
````

````{py:function} get_overall_metrics(votes_df: pandas.DataFrame, ref_annotator_col: str) -> dict
:canonical: feedback_forensics.app.metrics.get_overall_metrics

```{autodoc2-docstring} feedback_forensics.app.metrics.get_overall_metrics
```
````

````{py:function} ensure_categories_identical(df: pandas.DataFrame, col_a: str, col_b: str) -> pandas.DataFrame
:canonical: feedback_forensics.app.metrics.ensure_categories_identical

```{autodoc2-docstring} feedback_forensics.app.metrics.ensure_categories_identical
```
````

````{py:function} get_default_avail_metrics()
:canonical: feedback_forensics.app.metrics.get_default_avail_metrics

```{autodoc2-docstring} feedback_forensics.app.metrics.get_default_avail_metrics
```
````
