File size: 841 Bytes
a1b0768
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
"""2D PCA plot of cohort playstyle snapshots with the inferred player highlighted."""

from __future__ import annotations

from typing import Any

from chess_tutor.inference.pipeline import InferenceResult
from chess_tutor.playstyle_coaching.teacher import TeacherCoachingBundle
from chess_tutor.web.embedding import build_all_embedding_plots


def build_pca_plot(
    result: InferenceResult,
    *,
    corpus_id: str = "standard_600",
    teacher_bundle: TeacherCoachingBundle | None = None,
    max_points: int = 6000,
    seed: int = 42,
) -> dict[str, Any] | None:
    """Fit PCA on cohort snapshots and return 2D coordinates for the web UI."""
    return build_all_embedding_plots(
        result,
        corpus_id=corpus_id,
        teacher_bundle=teacher_bundle,
        max_points=max_points,
        seed=seed,
    )["pca_plot"]