当前位置: 首页>>代码示例>>Python>>正文


Python SVD._file_row_ids方法代码示例

本文整理汇总了Python中recsys.algorithm.factorize.SVD._file_row_ids方法的典型用法代码示例。如果您正苦于以下问题:Python SVD._file_row_ids方法的具体用法?Python SVD._file_row_ids怎么用?Python SVD._file_row_ids使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在recsys.algorithm.factorize.SVD的用法示例。


在下文中一共展示了SVD._file_row_ids方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: export

# 需要导入模块: from recsys.algorithm.factorize import SVD [as 别名]
# 或者: from recsys.algorithm.factorize.SVD import _file_row_ids [as 别名]
    def export(self):
        # http://tedlab.mit.edu/~dr/SVDLIBC/SVD_F_DT.html
        # only importing default 'dt' S, Ut and Vt (dense text output matrices)
        PREFIX = self._svd_prefix
        file_Ut = PREFIX + '-Ut'
        file_Vt = PREFIX + '-Vt'
        file_S = PREFIX + '-S'
        # Not really used:
        file_U = PREFIX + '-U'
        file_V = PREFIX + '-V'
        
        # Read matrices files (U, S, Vt), using CSV (it's much faster than numpy.loadtxt()!)
        if VERBOSE:
            sys.stdout.write('Reading files: %s, %s, %s\n' % (file_Ut, file_Vt, file_S))
        try:
            Ut = array(list(csv.reader(open(file_Ut),delimiter=' '))[1:]).astype('float')
            U = Ut.transpose()
        except:
            U = array(list(csv.reader(open(file_U),delimiter=' '))[1:]).astype('float')
        try:
            Vt = array(list(csv.reader(open(file_Vt),delimiter=' '))[1:]).astype('float')
            V = Vt.transpose()
        except:
            V = array(list(csv.reader(open(file_V),delimiter=' '))[1:]).astype('float')
            #Vt = V.transpose()
        _S = array(list(csv.reader(open(file_S),delimiter=' '))[1:]).astype('float')
        S = _S.reshape(_S.shape[0], )
        
        PREFIX_INDEXES = PREFIX + '.ids.'
        file_U_idx = PREFIX_INDEXES + 'rows'
        file_V_idx = PREFIX_INDEXES + 'cols'
        if VERBOSE:
            sys.stdout.write('Reading index files: %s, %s\n' % (file_U_idx, file_V_idx))
        try:
            U_idx = [ int(idx.strip()) for idx in open(file_U_idx)]
        except:
            U_idx = [ idx.strip() for idx in open(file_U_idx)]
        try:
            V_idx = [ int(idx.strip()) for idx in open(file_V_idx)]
        except:
            V_idx = [ idx.strip() for idx in open(file_V_idx)]
        
        #Check no duplicated IDs!!!
        assert(len(U_idx) == len(OrderedSet(U_idx))), 'There are duplicated row IDs!'
        assert(len(U_idx) == U.shape[0]), 'There are duplicated (or empty) row IDs!'
        assert(len(V_idx) == len(OrderedSet(V_idx))), 'There are duplicated col IDs!'
        assert(len(V_idx) == V.shape[0]), 'There are duplicated (or empty) col IDs'
 
        # Create SVD
        if VERBOSE:
            sys.stdout.write('Creating SVD() class\n')
        svd = SVD()
        svd._U = DenseMatrix(U, OrderedSet(U_idx), None)
        svd._S = S
        svd._V = DenseMatrix(V, OrderedSet(V_idx), None)
        svd._matrix_similarity = svd._reconstruct_similarity()
        svd._matrix_reconstructed = svd._reconstruct_matrix()

        # If save_model, then use row and col ids from SVDLIBC
        MAX_VECTORS = 2**21
        if len(svd._U) > MAX_VECTORS:
            svd._file_row_ids = file_U_idx
        if len(svd._V) > MAX_VECTORS:
            svd._file_col_ids = file_V_idx
        
        return svd
开发者ID:1060460048,项目名称:python-recsys,代码行数:68,代码来源:svdlibc.py


注:本文中的recsys.algorithm.factorize.SVD._file_row_ids方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。