use crate::error::{MLError, Result};
use scirs2_core::ndarray::{Array1, Array2};
pub struct QuantumFeatureSelector {
method: String,
n_features: usize,
}
impl QuantumFeatureSelector {
pub fn new(method: String, n_features: usize) -> Self {
Self { method, n_features }
}
pub fn fit_transform(&mut self, data: &Array2<f64>) -> Result<Array2<f64>> {
let selected_cols = (0..self.n_features.min(data.ncols())).collect::<Vec<_>>();
Ok(data.select(scirs2_core::ndarray::Axis(1), &selected_cols))
}
}