当前位置:首页 > 服务端 > Python3.5 数据处理 --jieba + sklearn库安装及第一个示例

Python3.5 数据处理 --jieba + sklearn库安装及第一个示例

2022年11月09日 14:22:33服务端8

一,安装pip3:

#sudo apt-get install pip3

二,安装jieba:

#sudo pip3 install jieba

三,安装sklearn:

#sudo pip3 install scikit-learn

四,安装sklearn依赖(numpy,scipy):

#sudo pip3 install numpy
#sudo pip3 install scipy

eg:国内安装时可能出现time-out错误---解决办法如下:

#sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
#sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy

五,简单实现分词并计算TF-IDF值:

Python3.5 数据处理 --jieba + sklearn库安装及第一个示例 _ JavaClub全栈架构师技术笔记

#!/usr/bin python3.5
# coding=utf-8
#import os
import jieba
import re
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer
#import collections


class Tfi(object):
    def __init__(self):
        self.stop_list = []
        pass

    def fenci(self, file):
        #list = []
        fin = open(file, 'r')
        read_b = fin.read()
        fin.close()
        read_res = ''.join(re.findall(u'[a-zA-Z0-9\u4e00-\u9fa5]+', read_b))
        cut_res = jieba.cut(read_res, cut_all=True)
        line_res = ''
        for i in cut_res:
            if i not in self.stop_list:
                line_res = line_res + i + ' '
        fout = open('res/' + file, 'w')
        fout.write(line_res)
        fout.close()

    def cipin(self, fil_list):
        corpus = []
        for fil in fil_list:
            ffout = open('res/'+fil, 'r')
            read_r = ffout.read()
            ffout.close()
            corpus.append(read_r)
        vectorizer = CountVectorizer()
        transformer = TfidfTransformer()
        tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus))
        word = vectorizer.get_feature_names()  # 所有文本的关键字
        weight = tfidf.toarray()
        for j in range(len(weight)):
            f = open('fes/'+fil_list[j], 'w')
            for i in range(len(word)):
                f.write(word[i]+'  '+str(weight[j][i]) + '\n')
            f.close()


if __name__ == '__main__':
    first = Tfi()
    fil_list = ['inputtext']
    first.fenci('inputtext')
    first.cipin(fil_list)

 

作者:凉夜入梦
来源链接:https://www.cnblogs.com/czx-itter/p/6607942.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/68906.html

标签: jiebaPython
分享给朋友: