Первичная версия: стилометрия реплик, LSA и протокол экспериментов
This commit is contained in:
36
lab1/tests/test_metadata.py
Normal file
36
lab1/tests/test_metadata.py
Normal file
@@ -0,0 +1,36 @@
|
||||
"""Тесты анализа по метаданным персонажей."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import pandas as pd
|
||||
|
||||
from stylometry.metadata import (
|
||||
group_confusions,
|
||||
load_character_metadata,
|
||||
subgroup_report,
|
||||
)
|
||||
|
||||
|
||||
def test_metadata_table() -> None:
|
||||
metadata = load_character_metadata()
|
||||
assert len(metadata) == 34
|
||||
assert {"character", "gender", "age_group", "species", "role"} <= set(metadata.columns)
|
||||
|
||||
|
||||
def test_subgroup_report() -> None:
|
||||
metadata = load_character_metadata()
|
||||
y_true = ["Abigail", "Abigail", "Alex", "Alex"]
|
||||
y_pred = ["Abigail", "Alex", "Alex", "Alex"]
|
||||
labels = ["Abigail", "Alex"]
|
||||
report = subgroup_report(y_true, y_pred, labels, metadata, "gender")
|
||||
assert {"group", "weighted_f1", "n_samples"} <= set(report.columns)
|
||||
assert report["n_samples"].sum() == 4
|
||||
|
||||
|
||||
def test_group_confusions() -> None:
|
||||
metadata = load_character_metadata()
|
||||
y_true = ["Abigail", "Abigail", "Alex", "Alex"]
|
||||
y_pred = ["Abigail", "Alex", "Alex", "Abigail"]
|
||||
table = group_confusions(y_true, y_pred, metadata, "gender")
|
||||
assert not table.empty
|
||||
assert {"true_group", "pred_group", "count"} <= set(table.columns)
|
||||
Reference in New Issue
Block a user