Linear Discriminant Analysis (LDA)
Advanced classical-mlclassificationgenerative-models
Implement:
def lda_fit(X: np.ndarray, y: np.ndarray) -> tuple[np.ndarray, float]:
"""
Returns (w, b) for the linear discriminant boundary, computed from
per-class means, one shared (pooled) covariance matrix, and class priors.
"""