Spaces:
Running
Running
| import numpy as np | |
| def filter_low_variance_features(X: np.ndarray, threshold: float = 0.05) -> np.ndarray: | |
| variances = np.var(X, axis=0) | |
| return np.where(variances >= threshold)[0] | |
| def filter_high_correlation_features(X: np.ndarray, threshold: float = 0.95) -> np.ndarray: | |
| corr = np.corrcoef(X.T) | |
| keep = np.ones(X.shape[1], dtype=bool) | |
| for i in range(X.shape[1]): | |
| if keep[i]: | |
| for j in range(i + 1, X.shape[1]): | |
| if abs(corr[i, j]) > threshold: | |
| keep[j] = False | |
| return np.where(keep)[0] | |