pyppur.optimizers package¶
Optimization methods for projection pursuit.
- class pyppur.optimizers.GridOptimizer(objective_func, n_components, n_directions=250, n_iterations=10, max_iter=1000, tol=1e-06, random_state=None, verbose=False, **kwargs)[source]
Bases:
BaseOptimizerOptimizer using a grid-based search approach.
This optimizer is particularly useful for projection indices that are not differentiable or have many local minima. It systematically explores the space of projection directions using a grid-based approach.
- Parameters:
- optimize(X, initial_guess=None, **kwargs)[source]
Optimize the projection directions using a grid-based approach.
- Parameters:
X (ndarray) – Input data, shape (n_samples, n_features).
initial_guess (ndarray | None) – Optional initial guess for projection directions.
**kwargs (Any) – Additional arguments for the objective function.
- Returns:
Optimized projection directions, shape (n_components, n_features)
Final objective value
Additional optimizer information
- Return type:
Tuple containing
- class pyppur.optimizers.ScipyOptimizer(objective_func, n_components, method='L-BFGS-B', max_iter=1000, tol=1e-06, random_state=None, verbose=False, **kwargs)[source]
Bases:
BaseOptimizerOptimizer using SciPy’s optimization methods.
This optimizer leverages SciPy’s optimization functionality, particularly the L-BFGS-B method which is well-suited for projection pursuit problems.
- Parameters:
- optimize(X, initial_guess=None, **kwargs)[source]
Optimize the projection directions using SciPy’s optimization methods.
- Parameters:
X (ndarray) – Input data, shape (n_samples, n_features).
initial_guess (ndarray | None) – Optional initial guess for projection directions.
**kwargs (Any) – Additional arguments for the objective function.
- Returns:
Optimized projection directions, shape (n_components, n_features)
Final objective value
Additional optimizer information
- Return type:
Tuple containing
Submodules¶
pyppur.optimizers.base module¶
Base class for optimization methods.
pyppur.optimizers.scipy_optimizer module¶
SciPy-based optimizer for projection pursuit.
- pyppur.optimizers.scipy_optimizer.normalize_projection_directions(a_flat, n_components, n_features)[source]
Normalize the encoder projection directions to unit norm.
pyppur.optimizers.grid_optimizer module¶
Grid-based optimizer for projection pursuit.