zoukankan      html  css  js  c++  java
  • 文本分类问题汇总

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

    用的开发工具是VS code,语言是python。

    • 无法在VS code的控制台输入内容:
      打开设置,输入run in terminal
      勾选

    • 保存分类器训练好的模型和训练好的tfidf词典:
      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低时该词区分度高。

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

  • 相关阅读:
    [置顶] 算法设计基础
    .net 多线程学习
    如何获得Repeater中的列
    npoi导出excel
    字符串的格式化问题
    用线程修改页面中的值(一)
    正则表达式的验证数值验证
    .net 线程更新页面中的值(方法二)
    .net 线程更新页面中的值(方法一)
    字符串的分割
  • 原文地址:https://www.cnblogs.com/lfz1211/p/10746134.html
Copyright © 2011-2022 走看看