latools/filtering/classifier_obj.py
def fit(self, data, method='kmeans', **kwargs):
        """
        fit classifiers from large dataset.

        Parameters
        ----------
        data : dict
            A dict of data for clustering. Must contain
            items with the same name as analytes used for
            clustering.
        method : str
            A string defining the clustering method used. Can be:

            * 'kmeans' : K-Means clustering algorithm
            * 'meanshift' : Meanshift algorithm

        n_clusters : int
            *K-Means only*. The numebr of clusters to identify
        bandwidth : float
            *Meanshift only.*
            The bandwidth value used during clustering.
            If none, determined automatically. Note:
            the data are scaled before clutering, so
            this is not in the same units as the data.
        bin_seeding : bool
            *Meanshift only.*
            Whether or not to use 'bin_seeding'. See
            documentation for `sklearn.cluster.MeanShift`.
        **kwargs :
            passed to `sklearn.cluster.MeanShift`.

        Returns
        -------
        list
        """
        self.method = method
        ds_fit = self.fitting_data(data)
        mdict = {'kmeans': self.fit_kmeans,
                 'meanshift': self.fit_meanshift}
        clust = mdict[method]

        self.classifier = clust(data=ds_fit, **kwargs)

        # sort cluster centers by value of first column, to avoid random variation.
        c0 = self.classifier.cluster_centers_.T[self.sort_by]
        self.classifier.cluster_centers_ = self.classifier.cluster_centers_[np.argsort(c0)]

        # recalculate the labels, so it's consistent with cluster centers
        self.classifier.labels_ = self.classifier.predict(ds_fit)
        self.classifier.ulabels_ = np.unique(self.classifier.labels_)

        return
def fit(self, data, method='kmeans', **kwargs):
        self.method = method
        ds_fit = self.fitting_data(data)
        mdict = {'kmeans': self.fit_kmeans,
                 'meanshift': self.fit_meanshift}
        clust = mdict[method]

        self.classifier = clust(data=ds_fit, **kwargs)

        # sort cluster centers by value of first column, to avoid random variation.
        c0 = self.classifier.cluster_centers_.T[self.sort_by]
        self.classifier.cluster_centers_ = self.classifier.cluster_centers_[np.argsort(c0)]

        # recalculate the labels, so it's consistent with cluster centers
        self.classifier.labels_ = self.classifier.predict(ds_fit)
        self.classifier.ulabels_ = np.unique(self.classifier.labels_)

        return
def fit ( self , data , method = 'kmeans' , * * kwargs ) : self . method = method ds_fit = self . fitting_data ( data ) mdict = { 'kmeans' : self . fit_kmeans , 'meanshift' : self . fit_meanshift } clust = mdict [ method ] self . classifier = clust ( data = ds_fit , * * kwargs ) # sort cluster centers by value of first column, to avoid random variation. c0 = self . classifier . cluster_centers_ . T [ self . sort_by ] self . classifier . cluster_centers_ = self . classifier . cluster_centers_ [ np . argsort ( c0 ) ] # recalculate the labels, so it's consistent with cluster centers self . classifier . labels_ = self . classifier . predict ( ds_fit ) self . classifier . ulabels_ = np . unique ( self . classifier . labels_ ) return
fit classifiers from large dataset.

        Parameters
        ----------
        data : dict
            A dict of data for clustering. Must contain
            items with the same name as analytes used for
            clustering.
        method : str
            A string defining the clustering method used. Can be:

            * 'kmeans' : K-Means clustering algorithm
            * 'meanshift' : Meanshift algorithm

        n_clusters : int
            *K-Means only*. The numebr of clusters to identify
        bandwidth : float
            *Meanshift only.*
            The bandwidth value used during clustering.
            If none, determined automatically. Note:
            the data are scaled before clutering, so
            this is not in the same units as the data.
        bin_seeding : bool
            *Meanshift only.*
            Whether or not to use 'bin_seeding'. See
            documentation for `sklearn.cluster.MeanShift`.
        **kwargs :
            passed to `sklearn.cluster.MeanShift`.

        Returns
        -------
        list
fit classifiers from large dataset .