import argparse import pandas as pd from sklearn.metrics import accuracy_score, confusion_matrix def main(): parser = argparse.ArgumentParser() parser.add_argument("--ground-truth", required=True) parser.add_argument("--predictions", required=True) args = parser.parse_args() df_true = pd.read_csv(args.ground_truth) df_pred = pd.read_csv(args.predictions) if "label" not in df_true.columns or "label" not in df_pred.columns: raise ValueError("Оба файла должны содержать колонку 'label'") if len(df_true) != len(df_pred): raise ValueError( f"Разная длина файлов: ground-truth={len(df_true)}, " f"predictions={len(df_pred)}" ) y_true = df_true["label"].values y_pred = df_pred["label"].values acc = accuracy_score(y_true, y_pred) cm = confusion_matrix(y_true, y_pred) print(f"Accuracy: {acc:.4f}") print("Confusion matrix:") print(cm) if __name__ == "__main__": main()