surfstar.py 文件源码

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

项目:scikit-rebate 作者: EpistasisLab 项目源码 文件源码
def _run_algorithm(self):
        sm = cnt = 0
        for i in range(self._datalen):
            sm += sum(self._distance_array[i])
            cnt += len(self._distance_array[i])
        avg_dist = sm / float(cnt)

        attr = self._get_attribute_info()
        nan_entries = np.isnan(self._X)

        NNlist = [self._find_neighbors(datalen, avg_dist) for datalen in range(self._datalen)]
        NN_near_list = [i[0] for i in NNlist]
        NN_far_list = [i[1] for i in NNlist]

        if self.n_jobs != 1:
            scores = np.sum(Parallel(n_jobs=self.n_jobs)(delayed(
                SURFstar_compute_scores)(instance_num, attr, nan_entries, self._num_attributes,
                NN_near, NN_far, self._headers, self._class_type, self._X, self._y, self._labels_std)
                 for instance_num, NN_near, NN_far in zip(range(self._datalen), NN_near_list, NN_far_list)), axis=0)
        else:
            scores = np.sum([SURFstar_compute_scores(instance_num, attr, nan_entries, self._num_attributes,
                NN_near, NN_far, self._headers, self._class_type, self._X, self._y, self._labels_std)
                 for instance_num, NN_near, NN_far in zip(range(self._datalen), NN_near_list, NN_far_list)], axis=0)

        return np.array(scores)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号