博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python - 实现文本分类[简单使用第三方库完成]
阅读量:5110 次
发布时间:2019-06-13

本文共 1626 字,大约阅读时间需要 5 分钟。

第三方库

pandassklearn

数据集

来自于达观杯 训练:train.txt测试:test.txt

 概述

TF-IDF 模型提取特征值 建立逻辑回归模型

 

 代码

# _*_ coding:utf-8 _*_# 简单文本分类实现import timeimport pandas as pdfrom sklearn.linear_model import LogisticRegressionfrom sklearn.feature_extraction.text import CountVectorizerprint("start......")time_start=time.time()# (1)加载数据 - 利用pandas读取cvs中数据df_train = pd.read_csv("D:/train.txt")df_test=pd.read_csv("D:/test.txt")# [1.1]数据处理 - 根据个人对算据的分析# 本次实验 - 删除'article','id'列df_train.drop(columns=['article','id'],inplace=True)df_test.drop(columns=['article'],inplace=True)# (2)特征提取"""特征是什么:选取一些“重要元素”标识一个文本特征选取:抽取关键特征值(TF-IDF,LDA..),原因:特征太多,构成的特征向量计算机非常难处理(内存空间,时间)一个类别如何标识:文本(多个)+特征(多个)=>[二维向量] --- 标识一个类别 """# TF-IDF 模型# sklearn 提取文本特征# [1]TfidfVectorizer# [2]CountVectorizer 文本特征提取方法 - 文本中的词语转换为词频矩阵# 词频矩阵 - 矩阵元素a[i][j] 表示j词在第i个文本下的词频# sklearn - CountVectorizervectorizer=CountVectorizer(ngram_range=(1, 2), min_df=3,max_df=0.9, max_features=100000)vectorizer.fit(df_train['word_seg'])#训练和测试的词频向量格式保持一致x_train=vectorizer.transform(df_train['word_seg'])x_test=vectorizer.transform(df_test['word_seg'])y_train = df_train['class']-1# sklearn - TfidfVectorizer# (3)分类模型 - 逻辑回归模型#  modal :LogisticRegressionlg = LogisticRegression(C=4, dual=True,solver='liblinear',multi_class='ovr')lg.fit(x_train, y_train)# (4)预测y_test = lg.predict(x_test)# (5)结果展示df_test['class'] = y_test.tolist()df_test['class'] = df_test['class'] + 1df_result = df_test.loc[:, ['id', 'class']]df_result.to_csv('D:/result.csv', index=False)time_end=time.time()print("running time={}".format(time_end-time_start))print("end......")

 

转载于:https://www.cnblogs.com/floakss/p/10741276.html

你可能感兴趣的文章
代码面试最常用的10大算法(三)
查看>>
《Cracking the Coding Interview》——第14章:Java——题目2
查看>>
Careercup - Facebook面试题 - 5729456584916992
查看>>
Java注解基本原理
查看>>
如何使用Visual Studio 2008(VS2008)编译C语言
查看>>
fullPage.js
查看>>
个人作业3-(Alpha阶段)
查看>>
phpmyadmin-您可能正在上传很大的文件,请参考文档来寻找解决方法
查看>>
System.Web.HttpException: 响应在此上下文中不可用
查看>>
zookeeper 常用命令
查看>>
企业级Apache详解2
查看>>
Python学习--Selenium模块简单介绍(1)
查看>>
AsyncTask实现网络图片的异步加载
查看>>
js中面向对象的封装
查看>>
s3c6410_时钟初始化
查看>>
STL中的常用的vector,map,set,Sort用法
查看>>
常用python机器学习库总结
查看>>
C/C++:.hpp与.h区别
查看>>
upc 9318 Slot Machines
查看>>
http方式接口响应实现步骤
查看>>