word_movers_knn.py 文件源码

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

项目:sentence-classification 作者: bgmartins 项目源码 文件源码
def _pairwise_wmd(self, X_test, X_train=None):
        """Computes the word mover's distance between all train and test points.

        Parallelized over rows of X_test.

        Assumes that train and test samples are sparse BOW vectors summing to 1.

        Parameters
        ----------
        X_test: scipy.sparse matrix, shape: (n_test_samples, vocab_size)
            Test samples.

        X_train: scipy.sparse matrix, shape: (n_train_samples, vocab_size)
            Training samples. If `None`, uses the samples the estimator was fit with.

        Returns
        -------
        dist : array, shape: (n_test_samples, n_train_samples)
            Distances between all test samples and all train samples.

        """
        n_samples_test = X_test.shape[0]
        if X_train is None: X_train = self._fit_X
        if self.n_jobs == 1: dist = [ self._wmd_row( test_sample , X_train ) for test_sample in X_test ]
        else: dist = Parallel(n_jobs=self.n_jobs, verbose=self.verbose)( delayed(self._wmd_row) (test_sample, X_train) for test_sample in X_test)
        return np.array(dist)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号