PGCuts Logo

Getting Started

  • Installation
    • Requirements
    • Install from PyPI
    • Install from source
    • Verify installation
  • Quickstart
    • Basic usage
    • Comparison with sklearn
    • Choosing the objective
    • Common options
    • Evaluation
    • Working with embeddings
    • Graph quality

User Guide

  • Feature Extraction
    • Recommended models
    • Using embedata
    • Extracting your own features
    • Using with PGCuts
  • Graph Construction
    • Standard pipeline
      • Choosing n_neighbors
    • Step-by-step construction
    • Edge pairs for mini-batch training
      • Extracting edge weights and node maps
    • Vertex degrees
  • PRCut – Probabilistic RatioCut
    • Quick usage
    • Objective
    • Low-level API
  • H-RCut – Hypergeometric RatioCut
    • Quick usage
    • Objective
    • When to use H-RCut
    • Low-level API
  • H-NCut – Hypergeometric NCut
    • Quick usage
    • Objective
    • Binning strategies
    • Key hyperparameters
    • Low-level API
  • Evaluation
    • Clustering metrics
      • Individual metrics
    • Graph-based objectives
      • Soft objectives
      • Ratio cut per cluster
    • Full evaluation example
  • Configuration
    • H-Cut parameters
    • Parameter guide
    • Benchmark scripts

API Reference

  • pgcuts.losses
    • PRCut losses
      • PRCutGradLoss
        • PRCutGradLoss.forward()
      • PRCutBatchLoss
        • PRCutBatchLoss.__init__()
        • PRCutBatchLoss.update_cluster_p()
        • PRCutBatchLoss.cluster_likelihood
        • PRCutBatchLoss.forward()
      • SimplexL2Loss
        • SimplexL2Loss.forward()
    • H-RCut loss
      • HyCutLoss
        • HyCutLoss.__init__()
        • HyCutLoss.forward()
    • RatioCut / NCut losses
      • RatioCutLoss
        • RatioCutLoss.__init__()
        • RatioCutLoss.forward()
      • NCutLoss
        • NCutLoss.__init__()
        • NCutLoss.compute_phi()
        • NCutLoss.forward()
      • Binning utilities
        • equal_size_bins()
        • log_kmeans_bins()
        • compute_ncut_bin_phi()
  • pgcuts.hyp2f1
    • Hyp2F1
      • Hyp2F1.forward()
      • Hyp2F1.backward()
  • pgcuts.graph
    • Main pipeline
      • build_rbf_knn_graph()
    • Building blocks
      • knn_graph()
      • gaussian_rbf_kernel()
      • symmetrize()
    • Cross-set similarities
      • get_knn_distances()
      • sp_knn_similarity()
      • torch_knn_similarity()
      • torch_pairwise_similarities()
      • compute_sp_similarities()
    • Laplacian
      • sparse_laplacian()
  • pgcuts.metrics
    • Clustering evaluation
      • evaluate_clustering()
      • nmi_score()
      • ari_score()
      • cluster_acc_score()
      • Label assignment
        • assign_clusters()
        • assign_unique_clusters()
    • Graph objectives
      • compute_rcut_ncut()
      • ratio_cut_score()
      • Soft objectives
        • soft_ncut()
        • soft_rcut()
  • pgcuts.data
    • ShuffledRangeDataset
      • ShuffledRangeDataset.__init__()
      • ShuffledRangeDataset.shuffle()
  • pgcuts.utils
    • Gradient mixing
      • GradientMixer
        • GradientMixer.__init__()
        • GradientMixer.attach()
        • GradientMixer.detach()
        • GradientMixer.make_grad_scaler_hook()
    • Pair utilities
      • get_pairs_unique_map()
PGCuts
  • Search


© Copyright 2026, Ayoub G..

Built with Sphinx using a theme provided by Read the Docs.