文本分类问题汇总

最近在做文本分类方面的项目,前前后后也遇到很多问题并去寻找解决办法,现在记录一下。

用的开发工具是VS code,语言是python。
  • 无法在VS code的控制台输入内容:
    打开设置,输入run in terminal
    勾选
    1486408-20190421175310964-6140699.png

  • 保存分类器训练好的模型和t训练好的fidf词典:
    from sklearn.externals import joblib
    joblib.dump(model,filename)#保存
    joblib.load(filename)#调用

  • 中文乱码:
    import sys,io
    sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
    或先解码再编码

  • 字符串与列表相互转换:
    list=str.split("分割符")
    str="分割符".join(list)

  • jibea分词中添加规则,如禁止某些此拆分或拆分某些词:
    jieba.suggest_freq('不拆分词',True)
    jieba.suggest_freq('拆分','词',True)

  • LDA模型聚类步骤:(无监督学习)
    1.将数据转换为list of list的结构
    2.将数据构造为字典:dictionary=corpora.Dictionary(result) corpora属于gensim库
    3.将数据的每一部分转换为稀疏向量:corpus=[dictionary.doc2bow(sentence) for sentence in result]
    4.转换为tfidf指数
    5.确定聚类数目,输入tfidf特征矩阵,调用LDA模型

  • CountVectorizer和TfidfVectorizer的对比:
    前者单纯考虑词频,后者考虑tfidf指数:即在本文出现的频率(词频)和在其他文本出现的频率(逆文本频率)。当tf高,idf低时该词区分度高。

暂时写下这些,还有问题暂未记录,未完待续

转载于:https://www.cnblogs.com/lfz1211/p/10746134.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值