def from_irt_results()

in leaderboard/data.py [0:0]


    def from_irt_results(cls: Type[T], irt_results: MultidimIrtResults) -> T:
        # pylint: disable=line-too-long
        example_ids = set()
        irt_2pl_example_stats = {}
        for str_idx, ex_id in irt_results.example_ids.items():
            idx = str_idx_to_int(str_idx, IrtModelType(irt_results.irt_model))
            n_examples = len(irt_results.example_ids)
            if idx < 0 or idx > n_examples - 1:
                raise ValueError(f"Invalid index: {idx}, n_examples={n_examples}")

            example_ids.add(ex_id)
            irt_2pl_example_stats[ex_id] = MultidimExampleStats(
                irt_model=irt_results.irt_model,
                example_id=ex_id,
                diff=irt_results.diff[idx],
                disc=irt_results.disc[idx] if irt_results.disc is not None else None,
                lambda_=irt_results.lambdas[idx] if irt_results.lambdas is not None else None,
            )

        model_ids = set()
        irt_2pl_model_stats = {}
        n_models = len(irt_results.model_ids)
        for str_idx, m_id in irt_results.model_ids.items():
            idx = str_idx_to_int(str_idx, IrtModelType(irt_results.irt_model))

            if idx < 0 or idx > n_models - 1:
                all_ids = [int(str_idx) for str_idx in irt_results.model_ids.keys()]
                max_id = max(all_ids)
                min_id = min(all_ids)
                raise ValueError(
                    f"Invalid index: {idx} model_type={irt_results.irt_model} n_models={n_models} min_id={min_id} max_id={max_id}"
                )
            model_ids.add(m_id)
            irt_2pl_model_stats[m_id] = MultidimModelStats(
                irt_model=irt_results.irt_model, model_id=m_id, skill=irt_results.ability[idx],
            )

        return cls(
            irt_model=IrtModelType(irt_results.irt_model),
            example_stats=irt_2pl_example_stats,
            example_ids=list(example_ids),
            model_stats=irt_2pl_model_stats,
            model_ids=list(model_ids),
        )