python学习-文本数据分析2(文本分类)
2015-10-13 21:48
746 查看
利用Python进行文本分类,
可用于过滤垃圾文本
1. 抽样
2. 人工标注样本文本中垃圾信息
3. 样本建模
4. 模型评估
5. 新文本预测
参考:
http://scikit-learn.org/stable/user_guide.html
PYTHON自然语言处理中文翻译 NLTK Natural Language Processing with Python 中文版
主要步骤:
1. 分词
2. 特征词提取
3. 生成词-文档矩阵
4. 整合分类变量
5. 建模
6. 评估
7. 预测新文本
可用于过滤垃圾文本
1. 抽样
2. 人工标注样本文本中垃圾信息
3. 样本建模
4. 模型评估
5. 新文本预测
参考:
http://scikit-learn.org/stable/user_guide.html
PYTHON自然语言处理中文翻译 NLTK Natural Language Processing with Python 中文版
主要步骤:
1. 分词
2. 特征词提取
3. 生成词-文档矩阵
4. 整合分类变量
5. 建模
6. 评估
7. 预测新文本
#示例 #!/usr/bin/env python # -*- coding:utf-8 -*- import MySQLdb import pandas as pd import numpy as np import jieba import nltk import jieba.posseg as pseg from sklearn import cross_validation #1. 读取数据,type为文本分类,0/1变量 df = pd.read_csv('F:\csv_test.csv',names=['id','cont','type']) #2. 关键抽取 cont = df['cont'] tagall=[] for t in cont: tags = jieba.analyse.extract_tags(t,kn) tagall.append(tags) dist = nltk.FreqDist(tagall) #词频统计选top100的关键词 fea_words = fdist.keys()[:100] #3. 生成词-文档矩阵 def word_features(content, top_words): word_set = set(content) features = {} for w in top_words: features["w_%s" % w] = (w in word_set) return features #4. 整合矩阵与分类结果变量 def data_feature(df, fea_words): data_set = [] cont = df['cont'] for i in range(0,len(cont)): content =jieba.cut(cont) feat = word_features(content,fea_words ) category = df.loc[i,'type'] tup = (feat, category) data_set.append(tup) return data_set data_list = data_feature(df, fea_words) #5. 建立分类模型 #训练集与测试集 train_set,test_set = cross_validation.train_test_split(data_list,test_size=0.5) #建模,贝叶斯 classifier = nltk.NaiveBayesClassifier.train(train_set) #建模,决策树 classifier = nltk.DecisionTreeClassifier.train(train_set) #6. 模型评估准确率 print nltk.classify.accuracy(classifier,test_set) #7. 预测结果输出 pre_set = data_feature(new_data,fea_words) pre_result = [] for item in pre_set: result = classifier.classify(item) pre_result.append(result) #查看预测结果分布 pre_tab = set(pre_result) for p in pre_tab: print p,pre_result.count(p) 其中2中特征词提取可采用各种方法进行, 3,4步骤可改善,提高性能, 5建模部分的模型可采用更多分类模型,逻辑回归,SVM...
相关文章推荐
- python学习-文本数据分析1(主题提取+词向量化)
- python学习-数据分析2(分类型数据处理+SVM建模)
- Python装饰器
- python中的支持向量机实现
- 使用 Python 在 Caché 和 Sql Server 之间同步数据
- python中实现logistics回归
- python中朴素贝叶斯代码的实现
- python中sklearn机器学习实现的博客
- Python 3 读取不同编码的文本文件
- Python 3 读取不同编码的文本文件
- 利用python手动写最小二乘估计
- 利用python中的pyquery库简单的抓取数据
- python中pandas库学习笔记
- python 中 exec、 eval、 execfile 和 compile 用法
- python中的pandas包的数据清洗能力
- python中knn算法实现
- 搜索引擎关键词抓取 以百度为例 python
- python中结巴分词快速入门
- Windows Opencv-3.0 + Python-2.7.10 配置(numpy-1.8.1-64位)
- python 中ggplot画图