pub fn train_test_split<T: Clone>( data: &Array2<T>, targets: &Array1<T>, test_size: f64, ) -> (Array2<T>, Array2<T>, Array1<T>, Array1<T>)