文本分类学习笔记(3)- 特征提取

特征提取TF-IDF值的两种方法,结果保存在.mat文件中:
1、人工分词,每类取3000合并

#人工分词,每类取3000合并
def load_files(directory,prefix=None,postfix=None):
    #获取所有文件
    files_list=[]
    classlen=[0 for i in range(11)]
    i = 0
    for root, sub_dirs, files in os.walk(directory):
        classlen[i] = len(files)
        i += 1
        for special_file in files:
            if postfix:
                if special_file.endswith(postfix):
                    files_list.append(os.path.join(root, special_file))
            elif prefix:
                if special_file.startswith(prefix):
                    files_list.append(os.path.join(root, special_file))
            else:
                    files_list.append(os.path.join(root, special_file))
    #扫描建立词典
    articallist = [dict() for i in range(len(files_list))]
    filelen = [0 for l in range(len(files_list))]
    i = 0
    for eachfile in files_list:
        file_object = open(eachfile,'r')
        t = 0
        for line in file_object:
            for word in line.split():
                #非数字
                if not str(word).isdigit():
                    t += 1
                    #大小写转换
                    word = str(word).lower()
                    if articallist[i].has_key(word):
                        articallist[i][word] += 1
                    else:
                        articallist[i][word] = 1
        filelen[i] = t
        i += 1
        file_object.close()
    #print '总文件数:',len(files_list)
    print len(articallist[1])
    return articallist,classlen,filelen

#导入停止词表
def load_stop_en(filename):
    word_list=[]
    file_object = open(filename,'r')  
    for line in file_object:
        word_list.append(line.strip())
    return word_list

#去停止词
def delet_stopword_en(stop_en_set, en_dict):
    for key in stop_en_set:
        if en_dict.has_key(key):
            del en_dict[key]

#获取某个词在所有文档中的TF-IDF
def get_TFIDF(artic
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pattern recognition and machine learning是一门涉及到模式识别和机器学习的课程,通过这门课程的学习,我对模式识别和机器学习有了更深入的了解。 在模式识别方面,我学习了如何使用统计学和概率论的知识对数据进行分析,识别出数据中的规律和模式。通过学习不同的模式识别算法,我了解了如何利用机器来识别图像、音频、文本甚至是生物特征等不同类型的模式。在机器学习方面,我学习了如何利用机器学习算法来训练模型,使得机器可以从数据中学习规律和模式,进而做出预测和决策。 通过学习这门课程,我对机器学习和模式识别的应用有了更清晰的认识,比如在图像识别、语音识别、自然语言处理、生物特征识别等领域的应用。我也学习到了如何应用这些知识和技术来解决现实生活中的问题,比如医疗诊断、金融风控、智能驾驶等领域的应用。 另外,通过课程中的实践项目,我有机会动手实践机器学习算法的应用,从数据的处理和特征提取到模型的训练和评估,这些实践使我对课程中学到的理论知识有了更深刻的理解。 总的来说,通过学习Pattern recognition and machine learning这门课程,我不仅对机器学习和模式识别的理论和技术有了更深入的了解,也掌握了一些实践应用的技能,对未来在相关领域的发展和应用有了更清晰的思路和认识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值