clustering.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:PyFusionGUI 作者: SyntaxVoid 项目源码 文件源码
def _initialisation(self):
        '''This involves generating the mu and kappa arrays
        Then initialising based on self.start using k-means, EM-GMM or
        giving every instance a random probability of belonging to each cluster
        SH: 7June2013
        '''
        self.mean_list = np.ones((self.n_clusters,self.n_dimensions),dtype=float)
        self.std_list = np.ones((self.n_clusters,self.n_dimensions),dtype=float)
        self.LL_list = []
        self.zij = np.zeros((self.n_instances, self.n_clusters),dtype=float)
        #maybe only the random option is valid here.....
        if self.start=='k_means':
            print 'Initialising clusters using a fast k_means run'
            self.cluster_assignments, self.cluster_details = k_means_clustering(self.input_data, n_clusters=self.n_clusters, sin_cos = 0, number_of_starts = 4, seed=self.seed)
            for i in list(set(self.cluster_assignments)):
                self.zij[self.cluster_assignments==i,i] = 1
            #print 'finished initialising'
        elif self.start=='EM_GMM':
            self.cluster_assignments, self.cluster_details = EM_GMM_clustering(self.input_data, n_clusters=self.n_clusters, sin_cos = 1, number_of_starts = 1)
            for i in list(set(self.cluster_assignments)):
                self.zij[self.cluster_assignments==i,i] = 1
        else:
            print 'going with random option'
            #need to get this to work better.....
            self.zij = np.random.random(self.zij.shape)
            #and normalise so each row adds up to 1....
            self.zij = self.zij / ((np.sum(self.zij,axis=1))[:,np.newaxis])
        self._EM_VMM_GMM_maximisation_step()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号