quantrs2_ml/dimensionality_reduction/
feature_selection.rs1use crate::error::{MLError, Result};
4use scirs2_core::ndarray::{Array1, Array2};
5
6pub struct QuantumFeatureSelector {
8 method: String,
9 n_features: usize,
10}
11
12impl QuantumFeatureSelector {
13 pub fn new(method: String, n_features: usize) -> Self {
14 Self { method, n_features }
15 }
16
17 pub fn fit_transform(&mut self, data: &Array2<f64>) -> Result<Array2<f64>> {
18 let selected_cols = (0..self.n_features.min(data.ncols())).collect::<Vec<_>>();
20 Ok(data.select(scirs2_core::ndarray::Axis(1), &selected_cols))
21 }
22}