plaid.py 文件源码

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

项目:biclustlib 作者: padilha 项目源码 文件源码
def run(self, data):
        """Compute biclustering.

        Parameters
        ----------
        data : numpy.ndarray
        """
        data = check_array(data, dtype=np.double, copy=True)
        self._validate_parameters()

        residuals = np.copy(data)
        num_rows, num_cols = residuals.shape
        biclusters, layers = [], []

        if self.fit_background_layer:
            background_layer = self._create_layer(residuals)
            layers.append(background_layer)
            residuals -= background_layer
            biclusters.append(Bicluster(np.arange(num_rows), np.arange(num_cols)))

        for i in range(self.num_biclusters):
            rows, cols, bicluster_layer = self._fit_layer(residuals)

            if len(rows) == 0 or len(cols) == 0 or not self._is_significant(residuals, bicluster_layer):
                break

            residuals[rows[:, np.newaxis], cols] -= bicluster_layer

            layers.append(bicluster_layer)
            biclusters.append(Bicluster(rows, cols))

            self._back_fitting(residuals, layers, biclusters)

        biclustering = Biclustering(biclusters)

        if self.fit_background_layer:
            biclusters.pop(0)

        return biclustering
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号