python - 实现文本分类[简单使用第三方库完成]
第三方库
pandas sklearn
数据集
来自于达观杯 训练:train.txt
测试:test.txt
概述
TF-IDF 模型提取特征值
建立逻辑回归模型
代码
# _*_ coding:utf- _*_ # 简单文本分类实现
import time
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.feature_extraction.text import CountVectorizer print("start......")
time_start=time.time() # ()加载数据 - 利用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) # ()特征提取
"""
特征是什么:选取一些“重要元素”标识一个文本
特征选取:抽取关键特征值(TF-IDF,LDA..),原因:特征太多,构成的特征向量计算机非常难处理(内存空间,时间)
一个类别如何标识:文本(多个)+特征(多个)=>[二维向量] --- 标识一个类别
"""
# TF-IDF 模型
# sklearn 提取文本特征
# []TfidfVectorizer
# []CountVectorizer 文本特征提取方法 - 文本中的词语转换为词频矩阵
# 词频矩阵 - 矩阵元素a[i][j] 表示j词在第i个文本下的词频 # sklearn - CountVectorizer
vectorizer=CountVectorizer(ngram_range=(, ), min_df=,max_df=0.9, max_features=)
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']- # sklearn - TfidfVectorizer
# ()分类模型 - 逻辑回归模型
# modal :LogisticRegression
lg = LogisticRegression(C=, dual=True,solver='liblinear',multi_class='ovr')
lg.fit(x_train, y_train) # ()预测
y_test = lg.predict(x_test) # ()结果展示
df_test['class'] = y_test.tolist()
df_test['class'] = df_test['class'] +
df_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......")
python - 实现文本分类[简单使用第三方库完成]的更多相关文章
- python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )
python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...
- Python连接数据库流行用到的第三方库
Python连接数据库流行用到的第三方库: mysqldb:只支持Python2.x mysqlclient : mysqldb的衍生版本,完全兼容mysqldb,同时支持Python3.x,安装较复 ...
- python pip使用国内镜像安装第三方库:命令行或PyCharm
python pip使用国内镜像安装第三方库:命令行或PyCharm 转载: https://blog.csdn.net/lly1122334/article/details/80646996
- python学习(十九)常见的第三方库
原文链接:http://www.limerence2017.com/2017/12/28/python19/#more 介绍几个python中常见的第三方库. Pillow Pillow简称PIL,是 ...
- NO.3_1:自学python之路------番外:第三方库安装、numpy
引言 Python因为pip的存在,使得第三方库的发布和获取都比较方便.并且Python对跨平台的支持,使得其相较于C++,Java更加方便使用.在本文中,将会介绍在Windows中安装第三方库的方法 ...
- python 技巧 之 pyCharm快速添加第三方库和插件
学习python有几个月,安装第三方库都是通过 pip install 或者 easy_install.每次都要打开命令行感觉太麻烦.还好Pycharm提供了安装第三方库和安装插件的功能. 首先打开P ...
- Python学习(六)模块 —— 第三方库
Python 第三方库 安装第三方库 在Python中,安装第三方库包,是通过setuptools这个工具完成的.Python有两个封装了setuptools的包管理工具:easy_install和p ...
- Python常用内建模块和第三方库
目录 内建模块 1 datetime模块(处理日期和时间的标准库) datetime与timestamp转换 str与datetime转换 datetime时间加减,使用timedelta这个类 转 ...
- Python pip包管理器安装第三方库超时解决方案
一.国内镜像安装 使用方法:pip install --index 镜像网站 第三方库名 二.镜像网站 http://pypi.douban.com/simple/ 豆瓣 http://mirrors ...
随机推荐
- easyui隐藏列
1.$("#test-datagrid").datagrid('hideColumn', 'password');其中第二个参数为对应的域,即field 2. <th dat ...
- 在java中导出excel
package com.huawei.controller; import java.io.File;import java.io.IOException;import java.util.HashM ...
- 转 sql注入
1.判断有无注入点 ; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass password 等.. and 0<>(selec ...
- python3企业微信群组报警
公司提出一个需求需要做一个企业微信的一个消息推送,需要将消息发送到聊天群里详细信息如下. 如何创建应用请阅读我的上篇文章:https://www.cnblogs.com/wangyajunblog/p ...
- HttpClient由Client客户端上传File文件流至Server服务端
客户端方法 public static void main(String[] args) { File file=new File("E:\\lucene\\rev\\全年平台受理量.doc ...
- CloudStack 初始化执行命令流分析
查询路由元素 选择可以使用的路由元素 需要将网络服务提供者的:虚拟路由和安全同时启用 { "createnetworkresponse" : { ...
- 15- 1 << k 时的益出
扩展GCD-时间复杂性 题目: 计算循环语句的执行频次 for (i = A; i != B; i += C) x += 1;其中A, B, C, i都是k位无符号整数. 输入: A B C k, 其 ...
- 关于oraclize使用最好的一篇文章
https://medium.com/@msolomon44/using-apis-in-your-ethereum-smart-contract-with-oraclize-95656434292e ...
- mybaties 一对多关系映射
背景: 数据库格式如下图所示 现在要统计出在一段时间内dimension_type为op即所有运营商的pv.uv.vv等指标的数组,以便页面显示出每个运营商在该事件段内历史指标曲线图. 分析: 返回的 ...
- 线上服务内存OOM问题定位
转自:架构师之路,http://mp.weixin.qq.com/s/iOC1fiKDItn3QY5abWIelg 相信大家都有感触,线上服务内存OOM的问题,是最难定位的问题,不过归根结底,最常见的 ...