[−][src]Struct linfa_clustering::KMeansHyperParams
The set of hyperparameters that can be specified for the execution of the K-means algorithm.
Implementations
impl<F: Float> KMeansHyperParams<F, Isaac64Rng>
[src]
pub fn new(n_clusters: usize) -> KMeansHyperParamsBuilder<F, Isaac64Rng>
[src]
impl<F: Float, R: Rng + Clone> KMeansHyperParams<F, R>
[src]
pub fn new_with_rng(n_clusters: usize, rng: R) -> KMeansHyperParamsBuilder<F, R>
[src]
new
lets us configure our training algorithm parameters:
- we will be looking for
n_clusters
in the training dataset; - the training is considered complete if the euclidean distance
between the old set of centroids and the new set of centroids
after a training iteration is lower or equal than
tolerance
; - we exit the training loop when the number of training iterations
exceeds
max_n_iterations
even if thetolerance
convergence condition has not been met. - As KMeans convergence depends on centroids initialization
we run the algorithm
n_runs
times and we keep the best outputs in terms of inertia that the ones which minimizes the sum of squared euclidean distances to the closest centroid for all observations.
n_clusters
is mandatory.
Defaults are provided if optional parameters are not specified:
tolerance = 1e-4
;max_n_iterations = 300
.
pub fn n_runs(&self) -> u64
[src]
The final results will be the best output of n_runs consecutive runs in terms of inertia.
pub fn tolerance(&self) -> F
[src]
The training is considered complete if the euclidean distance
between the old set of centroids and the new set of centroids
after a training iteration is lower or equal than tolerance
.
pub fn max_n_iterations(&self) -> u64
[src]
We exit the training loop when the number of training iterations
exceeds max_n_iterations
even if the tolerance
convergence
condition has not been met.
pub fn n_clusters(&self) -> usize
[src]
The number of clusters we will be looking for in the training dataset.
pub fn rng(&self) -> R
[src]
Returns a clone of the random generator
Trait Implementations
impl<F: Clone + Float, R: Clone + Rng> Clone for KMeansHyperParams<F, R>
[src]
pub fn clone(&self) -> KMeansHyperParams<F, R>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<F: Debug + Float, R: Debug + Rng> Debug for KMeansHyperParams<F, R>
[src]
impl<'a, F: Float, R: Rng + Clone, D: Data<Elem = F>, T: Targets> Fit<'a, ArrayBase<D, Dim<[usize; 2]>>, T> for KMeansHyperParams<F, R>
[src]
type Object = Result<KMeans<F>, KMeansError>
pub fn fit(&self, dataset: &Dataset<ArrayBase<D, Ix2>, T>) -> Self::Object
[src]
Given an input matrix observations
, with shape (n_observations, n_features)
,
fit
identifies n_clusters
centroids based on the training data distribution.
An instance of KMeans
is returned.
impl<F: PartialEq + Float, R: PartialEq + Rng> PartialEq<KMeansHyperParams<F, R>> for KMeansHyperParams<F, R>
[src]
pub fn eq(&self, other: &KMeansHyperParams<F, R>) -> bool
[src]
pub fn ne(&self, other: &KMeansHyperParams<F, R>) -> bool
[src]
impl<F: Float, R: Rng> StructuralPartialEq for KMeansHyperParams<F, R>
[src]
Auto Trait Implementations
impl<F, R> RefUnwindSafe for KMeansHyperParams<F, R> where
F: RefUnwindSafe,
R: RefUnwindSafe,
F: RefUnwindSafe,
R: RefUnwindSafe,
impl<F, R> Send for KMeansHyperParams<F, R> where
R: Send,
R: Send,
impl<F, R> Sync for KMeansHyperParams<F, R> where
R: Sync,
R: Sync,
impl<F, R> Unpin for KMeansHyperParams<F, R> where
F: Unpin,
R: Unpin,
F: Unpin,
R: Unpin,
impl<F, R> UnwindSafe for KMeansHyperParams<F, R> where
F: UnwindSafe,
R: UnwindSafe,
F: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub unsafe fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,